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
相关推荐
十年Java程序媛几秒前
Java 接口和抽象类对比|抛弃老旧八股,正确选型
java·开发语言·spring boot·后端
在角落发呆12 分钟前
一键脚本配置备份方法:从 Shell 脚本到自动备份
网络·windows
水饺编程41 分钟前
第1章,[Win32 章节]:在 VS2019 里面安装 MSDN
c语言·c++·windows·visual studio
高级程序源1 小时前
hive电商平台商品销售数据分析与趋势预测45659-计算机课程设计、毕业设计
vue.js·hive·spring boot·mysql·数据分析·django·课程设计
行者-全栈开发1 小时前
SpringBoot 生产环境踩坑实录:10个真实故障案例与教训
java·spring boot·后端
Wx-bishekaifayuan1 小时前
springboot线上中医药养生平台管理系统36753-计算机课程设计、毕业设计
java·spring boot·后端·spring·课程设计·express·旅游
Wx-bishekaifayuan1 小时前
springboot大学生就业平台47691-计算机课程设计、毕业设计
java·spring boot·后端·elasticsearch·课程设计·express·旅游
水饺编程1 小时前
第1章,[Win32 章节]:编程环境与 MSDN
c语言·c++·windows·visual studio
汤姆yu1 小时前
基于springboot+vue的企业OA办公系统
java·spring boot·后端·oa办公
丨白色风车丨2 小时前
Python中JSON与字典/列表的相互转换详解
windows·python·json