使用winsw部署spring boot jar 项目

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

简介
在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。linux

安装使用git

下载地址:https://github.com/kohsuke/winsw/releases
winsw的使用比较简单。从github上下载:winsw下载,要下载的文件有两个:1.winsw.exe程序;2.xml配置文件。github

我下载的是最新版本的WinSW.NET4.exe和sample-minimal.xml。下载完成后,将下载的两个文件及springboot项目的jar包放在同一个文件夹中。spring

须要将winsw执行程序跟xml改为一样的名字,推荐使用项目名+Service的命名方式,shell

好比:WinSW.NET4.exe改为 myProjectService.exe,sample-minmal.xml 改为myProjectService.xml。windows

 编辑myProjectService.xml文件,配置以下图:springboot

配置完成后,命令行进入winsw所在的文件夹,执行添加服务命令spring-boot

myProjectService.exe install

其中myProjectService是你修改后的名称。spa

注意:命令提示符界面要用管理员权限进入,不然安装服务会失败,提示“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

相关文章
相关标签/搜索