学习如何将Spring Boot Jar包注册成Windows服务

博客主页: 南来_北往

系列专栏:Spring Boot实战


在开发Spring Boot应用时,我们通常通过命令行或IDE手动启动项目。然而,在生产环境中,为了提升效率和稳定性,我们更希望应用能够自动启动,并且作为Windows服务运行。本文将详细介绍如何将Spring Boot Jar包注册成Windows服务,从而告别手动启动项目,提高运维效率。

一、准备工作

1、JRE环境:确保你的Windows服务器上已经安装了JRE(Java Runtime Environment),因为Spring Boot应用是基于Java运行的。

2、WinSW工具 :WinSW(Windows Service Wrapper)是一个通用的Windows服务包装器,可以将任何可执行文件(如.exe、.bat等)包装成Windows服务。WinSW无需安装,只需将winsw.exe和配置文件复制到指定目录即可。你可以在GitHub上找到WinSW的开源项目并下载:WinSW GitHub页面

3、Spring Boot Jar包:将你的Spring Boot项目打包成Jar包。这通常可以通过Maven或Gradle的插件来完成。

二、配置WinSW

1、重命名文件 :将下载的winsw.exe重命名为与你的服务相关的名称,例如MySpringBootService.exe。同时,创建一个与exe文件同名的XML配置文件,例如MySpringBootService.xml

2、编辑XML配置文件:在XML配置文件中,定义服务的行为。以下是一个示例配置文件:

XML 复制代码
<service>  
    <!-- 服务的唯一ID,在整个Windows系统中应该唯一 -->  
    <id>MySpringBootService</id>  
    <!-- 服务的显示名称 -->  
    <name>MySpringBootService (powered by WinSW)</name>  
    <!-- 服务的描述 -->  
    <description>This service runs a Spring Boot application.</description>  
    <!-- 要启动的可执行文件的路径,这里指定为java -->  
    <executable>java</executable>  
    <!-- java命令的参数,指定Spring Boot程序的入口Jar包,以及JVM参数 -->  
    <arguments>-Xmx512m -jar MySpringBootApp.jar</arguments>  
    <!-- 日志模式 -->  
    <logmode>rotate</logmode>  
</service>

在这个配置文件中,你需要将<id><name><description><arguments>等标签的内容替换为你的服务相关信息。特别是<arguments>标签,你需要指定Java的最大堆内存(如-Xmx512m)和你的Spring Boot Jar包的文件名(如-jar MySpringBootApp.jar)。

3、放置文件:将你的Spring Boot Jar包、MySpringBootService.exe和MySpringBootService.xml文件放置在同一目录下。

三、安装服务

1、打开命令提示符:以管理员身份打开命令提示符(cmd)。

2、切换目录:切换到包含MySpringBootService.exe和MySpringBootService.xml文件的目录。

3、安装服务:在命令提示符中执行以下命令来安装服务:

bash 复制代码
MySpringBootService.exe install

如果命令执行成功,你会看到一条消息表示服务已经成功安装。

四、管理服务

1、启动服务:你可以通过以下命令启动服务:

bash 复制代码
MySpringBootService.exe start

2、停止服务:你可以通过以下命令停止服务:

bash 复制代码
MySpringBootService.exe stop

3、卸载服务:如果你不再需要这个服务,可以通过以下命令卸载它:

bash 复制代码
MySpringBootService.exe uninstall

4、查看服务状态:你可以通过以下命令查看服务的状态:

bash 复制代码
MySpringBootService.exe status
五、验证服务

安装并启动服务后,你可以通过Windows的服务管理器(services.msc)来查看和管理你的Spring Boot服务。在服务列表中,你应该能够看到名为MySpringBootService的服务,并且它的状态应该是"正在运行"。

此外,你还可以使用Postman或其他API测试工具来验证你的Spring Boot应用是否正常工作。

六、总结

通过将Spring Boot Jar包注册成Windows服务,我们可以实现应用的自动启动和高效管理。这不仅提高了运维效率,还增强了系统的稳定性和可靠性。本文详细介绍了如何使用WinSW工具将Spring Boot应用打包成Windows服务的过程,包括准备工作、配置WinSW、安装服务、管理服务和验证服务等步骤。希望这对你有所帮助!

相关推荐
悟空码字1 天前
Spring Boot 整合 MongoDB 最佳实践:CRUD、分页、事务、索引全覆盖
java·spring boot·后端
皮皮林5513 天前
拒绝写重复代码,试试这套开源的 SpringBoot 组件,效率翻倍~
java·spring boot
用户908324602735 天前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
用户8307196840826 天前
Spring Boot 集成 RabbitMQ :8 个最佳实践,杜绝消息丢失与队列阻塞
spring boot·后端·rabbitmq
Java水解6 天前
Spring Boot 视图层与模板引擎
spring boot·后端
Java水解6 天前
一文搞懂 Spring Boot 默认数据库连接池 HikariCP
spring boot·后端
洋洋技术笔记6 天前
Spring Boot Web MVC配置详解
spring boot·后端
初次攀爬者7 天前
Kafka 基础介绍
spring boot·kafka·消息队列
用户8307196840827 天前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp
Java水解7 天前
SpringBoot3全栈开发实战:从入门到精通的完整指南
spring boot·后端