将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服务的资料请关注脚本之家其它相关文章!

相关文章

  • Java编程实现月食简单代码分享

    Java编程实现月食简单代码分享

    这篇文章主要介绍了Java编程实现月食简单代码分享,程序很简单,喜欢的朋友可以拿过去玩玩。
    2017-11-11
  • 浅谈Java中父类与子类的加载顺序详解

    浅谈Java中父类与子类的加载顺序详解

    本篇文章是对Java中父类与子类的加载顺序进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 详解Java token主流框架之JWT

    详解Java token主流框架之JWT

    JWT(JSON Web Token)是一种基于JSON格式的轻量级的、用于身份认证的开放标准,它通过在用户和服务器之间传递一个安全的、可靠的、独立的JSON对象来进行身份验证和授权,本文将详细给大家介绍Java token主流框架之JWT,需要的朋友可以参考下
    2023-05-05
  • java list和map切割分段的实现及多线程应用案例

    java list和map切割分段的实现及多线程应用案例

    这篇文章主要为大家介绍了java list和map切割分段的实现及多线程应用案例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 详解JVM的分代模型

    详解JVM的分代模型

    这篇文章主要介绍了JVM的分代模型的相关资料,帮助大家更好的理解和学习Java虚拟机相关知识,感兴趣的朋友可以了解下
    2020-10-10
  • DecimalFormat数字格式化 0和# 的区别及说明

    DecimalFormat数字格式化 0和# 的区别及说明

    这篇文章主要介绍了DecimalFormat数字格式化 0和# 的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • C# 数据类型转换

    C# 数据类型转换

    这篇文章主要讲解C语言中基本数据类型、字符串与其它数据类型以及常见的日期类型的转换,希望能给大家做一个参考。希望能够给你带来帮助
    2021-07-07
  • java并发编程专题(七)----(JUC)ReadWriteLock的用法

    java并发编程专题(七)----(JUC)ReadWriteLock的用法

    这篇文章主要介绍了java ReadWriteLock的用法,文中讲解非常详细,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 基于OpenCV与JVM实现矩阵处理图像

    基于OpenCV与JVM实现矩阵处理图像

    本文主要介绍了Java图像处理实战之基于OpenCV与JVM实现矩阵处理图像。文中的示例代码讲解详细,对我们学习图像处理有一定的帮助,感兴趣的可以试一试
    2022-01-01
  • SpringBoot @PostConstruct原理用法解析

    SpringBoot @PostConstruct原理用法解析

    这篇文章主要介绍了SpringBoot @PostConstruct原理用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08

最新评论