将jar注册为windows系统服务

需求

将spring boot项目编译成jar,注册为windows系统服务

实现方式

在网上了解到,winsw这个开源项目,去github看了下,作者常年维护更新,文档齐全,拥趸不少,自己写了个小demo体验了下还不错,然后又运行了一个晚上,没啥问题,遂决定采用它

开源地址

  • 源库地址 [https://github.com/winsw/winsw]
  • 教程所需示例文件地址[https://gitee.com/war110/test-winsw]
  • 教程所需实力文件下载地址[https://gitee.com/war110/test-winsw/releases/tag/v1]

需要准备什么?

  • 在releases下载这个软件的本体,一个exe,一个配置的xml
  • 一个可以正常运行的jar(我是写了个自用的项目,每五秒输出一次日志)
  • 一个win7或者win10的操作系统
    注:下载示意,我使用的版本是2.11.0


    只下载这两个文件

怎么制作服务?

  1. 准备好写好的jar,我这个是个刚初始化的spring boo项目,就额外加了个log日志的配置文件,代码仓库如下,exe和xml也在里面
  2. 配置xml文件,文件名改成和jar同名文件,例testexe.xml


  
  test-data
  
  SW test Data
  
  测试数据生成服务
  
  java
  
  -jar "testexe.jar"
  
   
       3
       8
   -->

   

  1. 将exe文件改名为跟jar同名的文件


    部署示意图
  2. 将服务注册为系统服务
# cmd 管理员模式进入该文件夹内
# 输入命令注册为系统服务
testexe.exe install testexe.xml
# 看的success字样说明已经注册成功了
# 打开windows 服务管理界面,右键启动这个服务,查看日志
  1. 卸载该服务
# cmd 管理员模式进入该文件夹内
# 停止该服务
testexe.exe stop
# 输入命令卸载该服务
testexe.exe uninstall 

扩展

服务命令

Your renamed WinSW.exe binary also accepts the following commands:

命令 描述
[install] Installs the service 安装服务.
[uninstall] Uninstalls the service. 卸载服务
[start] Starts the service. 启动服务
[stop] Stops the service. 停止服务
[restart] Stops and then starts the service.重启服务
[status] Checks the status of the service. 查看服务状态
[refresh] Refreshes the service properties without reinstallation.无需重新安装即可刷新服务属性
[customize] Customizes the wrapper executable.自定义包装器可执行文件

以下是官方写的 文档地址
[https://github.com/winsw/winsw/blob/v3/docs/cli-commands.md]

你可能感兴趣的:(将jar注册为windows系统服务)