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
相关推荐
专注VB编程开发20年24 分钟前
Windows API 所有老式结构体4字节对齐,但是64位VBA,Twinbasic弄成了8字节对齐,大BUG
windows·bug
东篱把酒黄昏39 分钟前
wsl和Windows混合开发高级配置详细指导
windows
吴爃44 分钟前
Spring Boot 项目在 K8S 中的打包、部署与运维发布实践
运维·spring boot·kubernetes
a8a3021 小时前
Laravel8.x新特性全解析
java·spring boot·后端
白露与泡影1 小时前
Spring Boot 完整流程
java·spring boot·后端
helloliyh2 小时前
windows设置定时任务开机执行bat或exe文件
windows
清水白石0082 小时前
从“类型体操”到工程设计:用 Python 解释协变、逆变与不变
网络·windows·python
小鲁蛋儿2 小时前
Dynamic + ShardingSphere整合
spring boot·shardingsphere·dynamic
北风toto3 小时前
Spring Boot / Spring Cloud 配置文件加密详解:使用 jasypt-spring-boot 实现 ENC() 加密
spring boot·后端·spring cloud
工作log3 小时前
Spring Boot 3.5 + MyBatis Plus + RabbitMQ:打造 AI 驱动的慢 SQL 监控与优化系统
spring boot·mybatis·java-rabbitmq