如何将SpringBoot的Jar注册成Windows服务

本文介绍了如何使用WinSW工具将基于SpringBoot的Java程序打包并部署为Windows服务,包括配置XML文件、设置内存限制、执行安装命令及测试服务功能的过程。

写在前面

当前项目有个地图编辑器,后端用的是SpringBoot框架,外网刚好有一台空闲的Windows服务器就直接拿来用了,将Java程序部署成Windows服务可以用WinSW (Windows Service Wrapper)来实现。

介绍

WinSW是一个通用的Windows服务包装器,可以将任何可执行文件(.exe,.bat等)包装成Windows服务。WinSW无需安装,仅需将winsw.exe和配置文件复制到指定目录即可。WinSW通过一个Xml配置文件来定义服务的行为,可以轻松地安装,卸载,启动和停止自定义Windows服务。

操作

WinSW的开源项目地址为:https://github.com/winsw/winsw

把SpringBoot项目打包成Jar之后,将引用到的jar一起放到WinSW.exe所在的目录下,可以把WinSW.exe自行修改为当前对应的服务名称,如MapEditorServer.exe,对应的XML文件也重命名为MapEditorServer.xml,然后修改Xml配置文件,executable节点改成java,下面的arguments 中指定SpringBoot程序入口Jar包,例如本项目为 mapeditor-1.0.1.jar。

<service>
  
  <!-- ID of the service. It should be unique across the Windows system-->
  <id>MapEditorServer</id>
  <!-- Display name of the service -->
  <name>MapEditorServer (powered by WinSW)</name>
  <!-- Service description -->
  <description>This service is a service created from a minimal configuration</description>
  
  <!-- Path to the executable, which should be started -->
  <executable>java</executable>
    <!--Xmx256m 代表堆内存最大值为256MB -jar后面的是项目名-->
    <arguments>-Xmx256m -jar mapeditor-1.0.1.jar</arguments>
    <!--日志模式-->
    <logmode>rotate</logmode>

</service>

配置完成后用cmd切至当前目录执行MapEditorServer.exe install 即可完成服务的安装;更多的其他命令如卸载:MapEditorServer.exe uninstall,查看状态:MapEditorServer.exe status等可以到官网自行了解。

 用PostMan测试一下,可以正常访问了。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值