WinSW简介
WinSW可以将应用打包成Windows服务的方式运行。
WinSW可以运行在已经安装了.NET Framework 4.6.1或更新版本的windows平台上。如果系统并没有安装.NET Framework,可以基于 .NET 7以项目提供的64-bit和32-bit执行文件进行执行。
github地址https://github.com/winsw/winsw
使用步骤
注意:github上的将winsw作为全局工具使用的方式应该是不支持(已尝试,并未成功,具体查看Issues里面的问题:https://github.com/winsw/winsw/issues/970),现在只能通过bundled tool方式来使用。
下面基于一个spring boot的项目进行演示说明(spring boot就是一个正常的maven项目,无需特殊的配置)。
01 下载已经编译好的可执行文件
https://github.com/winsw/winsw/releases
02 编写xml服务文件
SpringWinswDemoBackend.xml
<service>
<id>SpringWinswDemoBackend</id>
<name>SpringWinswDemoBackend</name>
<description>Spring Winsw Demo Backend.</description>
<env name="APP_HOME" value="?SE%" />
<startmode>Automatic</startmode>
<delayedAutoStart/>
<executable>java</executable>
<arguments>-jar "%APP_HOME%/backend-serve.jar"</arguments>
<logpath>?SE%/logs</logpath>
<log mode="roll" />
<onfailure action="restart" />
</service>
03 重命名WinSW-x64.exe
WinSW-x64.exe
改名为SpringWinswDemoBackend.exe
04 安装并启动服务
将可执行文件SpringWinswDemoBackend.exe
和SpringWinswDemoBackend.xml
放在同一个目录下面,保证xml文件的名字和exe的文件的名字保持一致。
# 安装服务
.\SpringWinswDemoBackend.exe install
# 启动服务
.\SpringWinswDemoBackend.exe start
可以通过操作系统中的服务发现对应的服务已经安装并启动。
#停止服务
.\SpringWinswDemoBackend.exe stop
#卸载服务
.\SpringWinswDemoBackend.exe uninstall
命令参考
命令 | 描述 |
---|---|
install | 安装服务 |
uninstall | 卸载服务 |
start | 启动服务 |
stop | 停止服务 |
restart | 重启服务 |
status | 查看服务状态 |
refresh | 在不重新安装服务的情况下刷新服务属性 |