将Springboot Jar包发布在windows服务器,并设置开机启动

用途:使用Spring Boot开发的Web项目,打包生成了一个jar包,部署在Windows服务器中,设置为开机启动

其它失败方案:

1、Spring Boot生成的jar包,可以直接用java -jar运行,但是前提是需要登录用户,而且注销用户后会退出程序,所以不可用。

2、使用计划任务,写一个bat处理文件,里面写java -jar运行程序,然后把bat文件作为一个计划任务运行;结果可能是因为任务启动时,系统资源未准备好,所以没有成功。

最佳方案:使用winsw,winsw是一个开源项目,程序以及源码可以在Git Hub下载:

https://github.com/kohsuke/winsw/releases

winsw是一个可以将任何应用程序注册成服务的软件,使用方法如下:

1、将Git Hub中下载的WinSW.NET4.exe和sample-minimal.xml文件及springboot项目的jar包放在同一个文件夹中。

将Springboot Jar包发布在windows服务器,并设置开机启动_第1张图片

将Springboot Jar包发布在windows服务器,并设置开机启动_第2张图片

2、需要将winsw执行程序跟xml改成同样的名字,推荐使用项目名+Service的命名方式,比如:WinSW.NET4.exe改成yardService.exe,sample-minmal.xml改成yardService.xml。

将Springboot Jar包发布在windows服务器,并设置开机启动_第3张图片

3、编辑yardService.xml文件,内容如下:


  
    
    yardId
    
    yard
    
    此处可填写该服务的描述
    
    java
    
    -Xmx256m -jar server-yard-1.0.0-SNAPSHOT.jar
    
    rotate

4、在yard.exe所在文件夹,shift+右键打开cmd,然后执行命令安装服务命令:yard.exe install。

5、命令提示符界面输入命令“net start yard”启动服务。

将Springboot Jar包发布在windows服务器,并设置开机启动_第4张图片

6、打开任务管理器,在服务里面查看是否启动成功。

7、访问项目看是否成功。

将Springboot Jar包发布在windows服务器,并设置开机启动_第5张图片

8、测试 :重启电脑后该服务会自动启动,执行第6、7步可检查是否成功。

9、删除服务分为两步:1停止服务;2删除服务,都是在命令行界面实现。

将Springboot Jar包发布在windows服务器,并设置开机启动_第6张图片

10、上面所有的命令都可以写在批处理文件中,部署的时候就可以实现一键部署了。

    例如yardStart.bat内容如下:
    yardService.exe install
    net start yard

    例如yardStop.bat内容如下:
    net stop yard
    yardService.exe uninstall

11.如果没有成功可以查看日志找原因,日志文件在同级目录:

将Springboot Jar包发布在windows服务器,并设置开机启动_第7张图片

项目日志也可在out.log中查看。

 

 

你可能感兴趣的:(后端,脚本,java)