https://blog.csdn.net/qq_31451471/article/details/79298665
在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配置文件。我下载的是最新版本的WinSW.NET4.exe和sample-minimal.xml。下载完成后,将下载的两个文件及springboot项目的jar包放在同一个文件夹中。
需要将winsw执行程序跟xml改成同样的名字,推荐使用项目名+Service的命名方式,比如:WinSW.NET4.exe改成myProjectService.exe,sample-minmal.xml改成myProjectService.xml。
改名完成后,编辑myProjectService.xml文件,配置如下图:
<?xml version="1.0" encoding="UTF-8" ?>
<service>
<!-- 安装成windows服务后的服务名 -->
<id>myProject</id>
<!-- 显示的服务名称 -->
<name>myProject</name>
<!-- 对服务的描述 -->
<description>这是winsw生成的服务/description>
<!-- 可执行的程序。这里是java的路径(如果配置了环境变量,直接写“java”就行了) -->
<executable>java</executable>
<!-- 参数 -->
<aguments>-jar myProject.jar</aguments>
</service>
配置完成后,命令行进入winsw所在的文件夹,执行“myProjectService.exe install”,其中myProjectService是你修改后的名称。注意:命令提示符界面要用管理员权限进入,否则安装服务会失败,提示“WMI Operation failure: AccessDenied”
进入服务界面,可以看到myProject服务已经生成了:
命令提示符界面输入命令“net start myProject”启动服务。
删除服务
删除服务分为两步:1停止服务;2删除服务,都是在命令行界面实现。
输入“net stop myProject”停止运行服务。
输入“myProjectService.exe uninstall”删除服务。