简介
在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/winsw/winsw/releases
winsw的使用比较简单。从github上下载:winsw下载,要下载的文件有两个:1.winsw.exe程序;2.xml配置文件。
下载后将winsw执行程序和xml改成同样的名字,比如使用项目名+Service的命名方式。
例如:WinSW.NET4.exe改成 myProjectService.exe,sample-minmal.xml 改成myProjectService.xml。
编辑myProjectService.xml文件
内容如下:
<configuration> |
安装执行服务
执行命令:
myProjectService.exe install |
启动服务
执行命令:
net start myProject |
停止服务
执行命令:
net stop myProject |
删除服务
删除服务:
myProjectService.exe uninstall |
最后
上面所有的命令都可以写在批处理文件中,部署的时候就可以实现一键部署了。
将命令写在批处理文件中,希望将批处理文件默认为管理员权限打开,可以在批处理文件的开头写上:
1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit |