失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用winsw部署spring boot项目

使用winsw部署spring boot项目

时间:2021-09-26 19:49:18

相关推荐

使用winsw部署spring boot项目

参考:用winsw让任何Windows程序都能运行为服务

简介

在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。

安装使用

winsw的使用比较简单。从github上下载:winsw下载,要下载的文件有两个:1.winsw.exe程序;2.xml配置文件。我下载的是最新版本的4.exe和sample-minimal.xml。下载完成后,将下载的两个文件及springboot项目的jar包放在同一个文件夹中。

需要将winsw执行程序跟xml改成同样的名字,推荐使用项目名+Service的命名方式,比如:4.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"

如果觉得《使用winsw部署spring boot项目》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。