通过WinSW部署JAR包为windows服务
通过WinSW部署JAR包为windows服务
背景
使用 Java 编写了一些有用的工具,因为不方便部署到服务器上,所以需要把 Java 生成的 jar 包在本地 Windows 上部署。
查阅了几种部署方式,认为通过 winsw 进行部署最方便。
安装 winsw
进入 winsw 的下载页面
下载 sampleminimal.xml 和 WinSW-x64.exe 文件。如:
配置 winsw 部署 jar 包
1、将 jar 包和刚下载的 sampleminimal.xml 和 WinSW-x64.exe 文件放置到同一个目录
2、把 sampleminimal.xml 和 WinSW-x64.exe 文件修改为同一个名称,建议使用『项目名 + Service』的命 名方式。
如:localUtilsService.xml, localUtilsService.exe
3、修改 xml 文件,配置如下:
<configuration>
<!-- 唯一ID -->
<id>localUtilsId</id>
<!-- 服务名称,启动服务时使用 -->
<name>localUtilsService</name>
<description>This is local utils</description>
<executable>java</executable>
<arguments>-jar local-utils-0.0.1.jar</arguments>
<!-- 开机启动 -->
<startmode>Automatic</startmode>
<!-- 日志配置 -->
<logpath>%BASE%\logs</logpath>
<logmode>rotate</logmode>
</configuration>
注意:
在 logpath 中,不使用 %Base% 相对路径会导致 jar 包的日志不输出
在 arguments 中,还可以指定虚拟机参数,配置文件路径等。如:
<arguments>-Xms256m -Xmx256m -jar "%BASE%\demo.jar" -Dspring.config.additional-location=application-db.properties</arguments>
4、安装或卸载 Windows 服务
# 安装服务
./localUtilsService.exe install
# 卸载服务(需要先停止服务)
./localUtilsService.exe uninstall
注意:没有使用管理员身份运行 Powershell,在执行安装时会申请权限。
5、 启动或停止 Windows 服务
通过命令进行管理,脚本如下:
# 启动服务
net start localUtilsService
# 停止服务
net stop localUtilsService
# winsw 命令行帮助手册
.\nginxService.exe /?
或者进入 Windows 服务管理器,找到对应服务进行管理(win+r 快捷键输入services.msc即可打开), 如图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)