在 Windows 上部署 Spring Boot Jar 并设置开机自启动,推荐使用 WinSW(Windows Service Wrapper) 工具,将 Jar 包注册为 Windows 系统服务,实现自动启停。
步骤 1:下载 WinSW 工具
- 访问 WinSW 官方 GitHub 地址,下载最新版本的
WinSW-x64.exe(根据系统选择 32/64 位)。 - 将下载的
WinSW-x64.exe复制到 Spring Boot Jar 包所在目录,并重命名为与 Jar 包同名的文件,例如:- Jar 包名:
his-server.jar - WinSW 重命名:
his-server.exe
- Jar 包名:
步骤 2:创建 WinSW 配置文件
在同一目录下创建一个同名的 XML 配置文件,例如 his-server.xml,内容如下(按需修改):
xml
使用java -jar启动:
<service>
<!-- 服务名称(唯一标识) -->
<id>his-server</id>
<!-- 服务显示名称(在服务列表中显示) -->
<name>HIS Spring Boot Server</name>
<!-- 服务描述 -->
<description>HIS 系统 Spring Boot 后台服务</description>
<!-- Java 路径,建议指定绝对路径 -->
<executable>java</executable>
<!-- 启动参数:指定 Jar 包路径 + JVM 参数 -->
<arguments>-jar "D:\his-server\his-server.jar" --server.port=443</arguments>
<!-- 服务启动模式:自动启动 -->
<startmode>Automatic</startmode>
<!-- 日志配置 -->
<logpath>D:\his-server\logs</logpath>
<logmode>roll</logmode>
<!-- 服务停止参数 -->
<stoptimeout>5000</stoptimeout>
</service>
使用bat脚本启动:
<service>
<id>his-server</id>
<name>HIS Spring Boot Server</name>
<description>HIS 系统 Spring Boot 后台服务</description>
<!-- 执行 Windows 脚本,替换原来的 java 命令 -->
<executable>D:\his-server\his-server.bat</executable>
<!-- 启动参数:传递 start 给脚本 -->
<arguments>start</arguments>
<startmode>Automatic</startmode>
<logpath>D:\his-server\logs</logpath>
<logmode>roll</logmode>
<!-- 停止超时时间 5 秒 -->
<stoptimeout>5000</stoptimeout>
</service>
步骤 3:注册并安装 Windows 服务
- 以管理员身份运行 CMD,切换到 Jar 包所在目录。
- 执行安装命令:
cmd
his-server.exe install - 启动服务命令:
cmd
his-server.exe start
步骤 4:验证开机自启动
- 按下
Win + R,输入services.msc打开服务列表。 - 找到配置的服务名称
HIS Spring Boot Server,确认启动类型为自动。 - 重启电脑,检查服务是否自动启动。
注意事项
如果winsw配置文件有变动,先卸载服务,再重新安装一下。
winsw配置文件没有使用停止命令,依靠winsw内置的进程终止。
常用命令
| 功能 | 命令 |
|---|---|
| 安装服务 | his-server.exe install |
| 启动服务 | his-server.exe start |
| 停止服务 | his-server.exe stop |
| 卸载服务 | his-server.exe uninstall |
| 查看状态 | his-server.exe status |
2628

被折叠的 条评论
为什么被折叠?



