使用winsw部署spring boot jar 项目
简介
在linux下部署springboot项目是一件很简单的事,直接后台运行就行了,最多写个shell脚本开机自启就行了。我们最近做的项目需要在windows上部署,在windows上运行jar有一个问题,运行的时候会弹出一个cmd窗口,并且不能关闭,关闭的话程序就停止了。spring官方推荐使用winsw来将springboot项目作为服务运行,参考https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#deployment-windows。
安装使用
下载地址:https://github.com/kohsuke/winsw/releases
winsw的使用比较简单。从github上下载:winsw下载,要下载的文件有两个:1.winsw.exe程序;2.xml配置文件。
我下载的是最新版本的WinSW.NET4.exe和sample-minimal.xml。下载完成后,将下载的两个文件及springboot项目的jar包放在同一个文件夹中。
需要将winsw执行程序跟xml改成同样的名字,推荐使用项目名+Service的命名方式,
比如:WinSW.NET4.exe改成 myProjectService.exe,sample-minmal.xml 改成myProjectService.xml。
编辑myProjectService.xml文件,配置如下图:
配置完成后,命令行进入winsw所在的文件夹,执行添加服务命令
myProjectService.exe install
其中myProjectService是你修改后的名称。
注意:命令提示符界面要用管理员权限进入,否则安装服务会失败,提示“WMI Operation failure: AccessDenied”
进入服务界面,可以看到myProject服务已经生成了:
命令提示符界面-启动服务。
net start myProject
删除服务
删除服务分为两步:1停止服务;2删除服务,都是在命令行界面实现。
停止运行服务。
net stop myProject
删除服务。
myProjectService.exe uninstall
最后
上面所有的命令都可以写在批处理文件中,部署的时候就可以实现一键部署了。
将命令写在批处理文件中,希望将批处理文件默认为管理员权限打开,可以在批处理文件的开头写上:
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d "%~dp0"
转载:https://blog.csdn.net/qq_28566071/article/details/80882503
最新文章
- python 多线程学习
- 剑指offer系列29-----链表中环的入口节点-
- GCD使用小结
- 使用c#检测文件正在被那个进程占用
- ThreadLocal 设计模式浅谈
- 页面嵌套 Iframe 产生缓存导致页面数据不刷新问题
- (转)MySQL数据库命名规范及约定
- java中的接口和抽象类是什么?
- ios ColorLUT滤镜
- 深入struts2.0(五)--Dispatcher类
- 【卷二】网络二—TCP服务器与客户端
- [蓝牙前沿应用] 照明即平台 —— 通过蓝牙增强服务提高照明投资回报率(蓝牙MESH、定位AoA、AoD)
- Spring Boot+CXF搭建WebService(转)
- java多线程快速入门(二十一)
- SPY
- Node爬取简书首页文章
- 设置Linux交换分区
- Win10尝鲜体验——初识传说中不一样的Windows 分类: 资源分享 2015-07-24 18:27 13人阅读 评论(0) 收藏
- 中国程序化购买广告解析:RTB/DSP/Ad Exchange/SSP/DMP,思维导图
- qt 中文乱码
热门文章
- [CF536D]Tavas in Kansas
- 多角度对比 ES5与ES6的区别
- Java RMI的轻量级实现 - LipeRMI
- openstack 之~openstack各组件关系
- window Form中使用Font Awesome z
- python测试开发django-53.xadmin里Model分类管理(proxy=True)
- Linux之清理linux内存cache
- Python计算分位数
- Spring Core Programming(Spring核心编程) - AOP Concepts(AOP基本概念)
- debian linux sudo 无法执行以添加普通用户到sudo