将spring boot项目编译成jar,注册为windows系统服务
在网上了解到,winsw这个开源项目,去github看了下,作者常年维护更新,文档齐全,拥有不少,自己写了个小demo体验了下还不错,然后又运行了一个晚上,没啥问题,遂决定采用它
开源地址
源库地址 https://github.com/winsw/winsw
Releases · winsw/winsw · GitHub
教程所需示例文件地址[https://gitee.com/war110/test-winsw]
教程所需实力文件下载地址[https://gitee.com/war110/test-winsw/releases/tag/v1]
需要准备什么?
在releases下载这个软件的本体,一个exe,一个配置的xml
一个可以正常运行的jar(我是写了个自用的项目,每五秒输出一次日志)
一个win7或者win10的操作系统
注:下载示意,我使用的版本是2.11.0

开始操作如下:
准备好写好的jar,我这个是个刚初始化的spring boo项目,就额外加了个log日志的配置文件,代码仓库如下,exe和xml也在里面
配置xml文件,文件名改成和jar同名文件,例testexe.xml
- "1.0" encoding="UTF-8" ?>
- <service>
-
- <id>test-dataid>
-
- <name>SW test Dataname>
-
- <description>测试数据生成服务description>
-
- <executable>javaexecutable>
-
- <arguments>-jar "testexe.jar"arguments>
-
-
- <sizeThreshold>3sizeThreshold>
- <keepFiles>8keepFiles>
- log>-->
- <log mode="none">log>
- service>
将exe文件改名为跟jar同名的文件

启动服务操作如下:
- # cmd 管理员模式进入该文件夹内
- # 输入命令注册为系统服务
- testexe.exe install testexe.xml
- # 看的success字样说明已经注册成功了
- # 打开windows 服务管理界面,右键启动这个服务,查看日志
卸载服务操作如下
- # cmd 管理员模式进入该文件夹内
- # 停止该服务
- testexe.exe stop
- # 输入命令卸载该服务
- testexe.exe uninstall