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
相关推荐
youngerwang2 小时前
【Windows tcpip协议栈完整静态反汇编分析】
windows·tcpip协议栈·静态反汇编分析
2301_764441333 小时前
主流手机pc品牌的端侧模型部署梳理
人工智能·windows·机器学习·智能手机·产品运营
Java面试题总结3 小时前
C#12 中的 Using Alias
开发语言·windows·c#
zh路西法5 小时前
【SSH 免密登录全流程】Windows Linux 通用方案
linux·windows·ssh
Sam_Deep_Thinking5 小时前
Spring Boot 的启动原理是什么?
java·spring boot·后端
屋外雨大,惊蛰出没6 小时前
深入浅出Spring Boot
java·spring boot·ioc·aop
协享科技7 小时前
Spring Boot 与 Go 双服务架构实践:从单体拆分到通信设计
java·人工智能·spring boot·后端·架构·golang·ai编程
Linlingu7 小时前
openClaw不能操作我的电脑提示没有权限如何解决?
人工智能·windows·办公自动化·数字员工·小龙虾
会Tk矩阵群控的小木8 小时前
基于Python的iMessage短信群发与社媒多账号统一管理系统实现
开发语言·windows·python·新媒体运营·开源软件·个人开发
小林敲代码77888 小时前
记录一下IDEA中很多变量变色的方案
java·开发语言·spring boot·idea