将SpringBoot的Jar注册成Windows服务的实现方法

 更新时间:2023年11月09日 09:28:01   作者:rjcql  
当前项目有个地图编辑器,后端用的是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测试一下,可以正常访问了。

以上就是将SpringBoot的Jar注册成Windows服务的实现方法的详细内容,更多关于SpringBoot的Jar注册成Windows服务的资料请关注脚本之家其它相关文章!

相关文章

  • Spring IOC基于注解启动示例详析

    Spring IOC基于注解启动示例详析

    这篇文章主要给大家介绍了Spring IOC基于注解启动的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Java实现数组反转翻转的方法实例

    Java实现数组反转翻转的方法实例

    本篇文章主要介绍了Java实现数组反转翻转的方法实例,详细的介绍了3种实现方法,有兴趣的可以了解一下。
    2017-04-04
  • java高级用法之JNA中的Structure

    java高级用法之JNA中的Structure

    这篇文章主要介绍了java高级用法之JNA中的Structure,JNA提供了Structure类,来帮助我们进行这些映射处理,下面文章详细的介绍过程需要的小伙伴可以参考一下
    2022-04-04
  • Fluent Mybatis快速入门详细教程

    Fluent Mybatis快速入门详细教程

    由于FluentMybatis是基于mybatis上做封装和扩展的,所以这里主要聊聊mybatis处理的方式,以及给出FluentMybatis的解放方案。对Fluent Mybatis入门相关知识感兴趣的朋友一起看看吧
    2021-08-08
  • Springboot+ElementUi实现评论、回复、点赞功能

    Springboot+ElementUi实现评论、回复、点赞功能

    这篇文章主要介绍了通过Springboot ElementUi实现评论、回复、点赞功能。如果是自己评论的还可以删除,删除的规则是如果该评论下还有回复,也一并删除。需要的可以参考一下
    2022-01-01
  • Java生成word文档的示例详解

    Java生成word文档的示例详解

    这篇文章主要为大家详细介绍了如何利用Java语言生成word文档,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考一下
    2022-12-12
  • Java实现24点小游戏

    Java实现24点小游戏

    这篇文章主要为大家详细介绍了Java实现24点小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • java多线程中的异常处理机制简析

    java多线程中的异常处理机制简析

    在java多线程程序中,所有线程都不允许抛出未捕获的checked exception,也就是说各个线程需要自己把自己的checked exception处理掉,需要了解的朋友可以参考下
    2012-11-11
  • Sentinel整合Feign流程详细讲解

    Sentinel整合Feign流程详细讲解

    要想整合Feign,首先要了解Feign的使用以及执行过程,然后看 Sentinel如何整合进去,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Java编程实现对十六进制字符串异或运算代码示例

    Java编程实现对十六进制字符串异或运算代码示例

    这篇文章主要介绍了Java编程实现对十六进制字符串异或运算代码示例,简述了异或运算以及具体实例,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论