Windows部署springboot jar支持开机自启动

在 Windows 上部署 Spring Boot Jar 并设置开机自启动 ,推荐使用 WinSW(Windows Service Wrapper) 工具,将 Jar 包注册为 Windows 系统服务,实现自动启停。

步骤 1:下载 WinSW 工具

  1. 访问 WinSW 官方 GitHub 地址,下载最新版本的 WinSW-x64.exe(根据系统选择 32/64 位)。
  2. 将下载的 WinSW-x64.exe 复制到 Spring Boot Jar 包所在目录,并重命名 为与 Jar 包同名的文件,例如:
    • Jar 包名:his-server.jar
    • WinSW 重命名:his-server.exe

步骤 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 服务

  1. 以管理员身份运行 CMD,切换到 Jar 包所在目录。

  2. 执行安装命令: cmd

    复制代码
    his-server.exe install
  3. 启动服务命令: cmd

    复制代码
    his-server.exe start

步骤 4:验证开机自启动

  1. 按下 Win + R,输入 services.msc 打开服务列表。
  2. 找到配置的服务名称 HIS Spring Boot Server,确认启动类型自动
  3. 重启电脑,检查服务是否自动启动。

注意事项

如果winsw配置文件有变动,先卸载服务,再重新安装一下。

winsw配置文件没有使用停止命令,依靠winsw内置的进程终止。

常用命令

功能 命令
安装服务 his-server.exe install
启动服务 his-server.exe start
停止服务 his-server.exe stop
卸载服务 his-server.exe uninstall
查看状态 his-server.exe status
相关推荐
Hui Baby1 天前
java -jar 启动原理
java·pycharm·jar
weixin_511255211 天前
更新jar内资源和代码
java·jar
小马爱打代码1 天前
Spring Boot:第三方 API 调用的企业级容错设计
java·spring boot·后端
东东5161 天前
xxx食堂移动预约点餐系统 (springboot+微信小程序)
spring boot·微信小程序·小程序·毕业设计·个人开发·毕设
csdn2015_1 天前
springboot task
java·spring boot·后端
执笔论英雄1 天前
【RL]分离部署与共置模式详解
服务器·网络·windows
czlczl200209251 天前
Spring Boot :如何高性能地在 Filter 中获取响应体(Response Body)
java·spring boot·后端
码界奇点1 天前
基于Spring Boot和Vue3的无头内容管理系统设计与实现
java·spring boot·后端·vue·毕业设计·源代码管理
你才是臭弟弟1 天前
SpringBoot 集成MinIo(根据上传文件.后缀自动归类)
java·spring boot·后端
玖釉-1 天前
深入浅出:渲染管线中的抗锯齿技术全景解析
c++·windows·图形渲染