用途:使用Spring Boot开发的Web项目,打包生成了一个jar包,部署在Windows服务器中,设置为开机启动
其它失败方案:
1、Spring Boot生成的jar包,可以直接用java -jar运行,但是前提是需要登录用户,而且注销用户后会退出程序,所以不可用。
2、使用计划任务,写一个bat处理文件,里面写java -jar运行程序,然后把bat文件作为一个计划任务运行;结果可能是因为任务启动时,系统资源未准备好,所以没有成功。
最佳方案:使用winsw,winsw是一个开源项目,程序以及源码可以在Git Hub下载:
winsw是一个可以将任何应用程序注册成服务的软件,使用方法如下:
1、将Git Hub中下载的WinSW.NET4.exe和sample-minimal.xml文件及springboot项目的jar包放在同一个文件夹中。
1535104193(1).png
2、需要将winsw执行程序跟xml改成同样的名字,推荐使用项目名+Service的命名方式,比如:WinSW.NET4.exe改成myProjectService.exe,sample-minmal.xml改成myProjectService.xml。
1535104250(1).png
3、编辑myProjectService.xml文件,内容如下
myProjectServiceID
myProjectServiceName
此处可填写该服务的描述
java
-Xmx256m -jar myProject.jar
rotate
4、打开系统服务功能:运行——输入cmd,然后进入到myProjectService.exe所在文件夹,然后执行命令安装服务命令:myProjectService.exe install。
1535105633(1).png
5、命令提示符界面输入命令“net start myProjectServiceName”启动服务。
1535184837(1).png
6、打开系统服务功能:运行——输入services.msc,即可看见自己命名的服务myProjectServiceName。
1535185077(1).png
7、测试 :重启电脑后该服务会自动启动,执行第6步可检查是否成功。
8、删除服务分为两步:1停止服务;2删除服务,都是在命令行界面实现。
命令提示符界面输入命令"net stop myProjectServiceName"停止运行服务。
1535184265(1).png
命令提示符界面输入命令"myProjectService.exe uninstall"可删除服务
1535184342(1).png
9.上面所有的命令都可以写在批处理文件中,部署的时候就可以实现一键部署了。
例如myProjectStart.bat内容如下:
myProjectService.exe install
net start myProjectServiceName
例如myProjectStop.bat内容如下:
net stop myProjectServiceName
myProjectService.exe uninstall
10.如果没有成功可以查看日志找原因,日志文件在同级目录:
1535185961(1).png
最后,本文如有疏忽错误,请指教