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
相关推荐
zhangyi_viva1 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露1 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot
程序员敲代码吗1 小时前
Spring Boot与Tomcat整合的内部机制与优化
spring boot·后端·tomcat
NuageL1 小时前
原始Json字符串转化为Java对象列表/把中文键名变成英文键名
java·spring boot·json
yuuki2332332 小时前
【C++】继承
开发语言·c++·windows
jzheng86102 小时前
Spring Boot(快速上手)
java·spring boot·后端
wgslucky2 小时前
SpringBoot解决Request和Response的内容多次读取的问题
java·spring boot·多次读取request数据
非凡ghost2 小时前
PowerDirector安卓版(威力导演安卓版)
android·windows·学习·软件需求
不倒翁玩偶3 小时前
IDEA导入新的SpringBoot项目没有启动按钮
java·spring boot·intellij-idea
疯狂敲代码的老刘4 小时前
JDK 1.6到25 全版本网盘合集 (Windows + Mac + Linux)
java·linux·windows·macos·jdk