WinSW使用-将jar包包装成windows服务

发布时间:2023年12月29日

介绍

Windows Service Wrapper是一个可执行二进制文件,可用于包装和管理作为Windows服务的自定义进程。下载安装包后,您可以将 WinSW.exe 重命名为任何名称,例如 MyService.exe 。接下来您可以创建Myservice.xml文件进行服务配置。最后 MyService.exe install安装到服务即可。

下载地址1: https://github.com/winsw/winsw/releases
下载地址2: https://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/

使用

  1. 创建start.bat文件,用于启动服务时,启动进程。(jar包名称,根据实际情况改动)
java -jar test.jar
  1. 创建stop.bat文件,用于关闭服务时,关闭进程。(端口号,根据实际情况改动)
@echo off
title 关闭某一端口
set port=8088
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (taskkill /f /pid %%m)
pause
  1. 将下载好的winsw.exe改名,例test-service.exe。(名称,根据实际情况改动)
  2. 创建xml配置文件,例test-service.xml。(名称,要求和exe文件名称一致)
<service>
  <id>Test</id>
  <name>Test Service</name>
  <description>Test Jar</description>
  <executable>C:\Users\Administrator\Desktop\test\start.bat</executable>
  <stopexecutable>C:\Users\Administrator\Desktop\test\stop.bat</stopexecutable>
</service>

id,服务id,在启动、关闭服务时都要用到,和已有windows服务不冲突即可
name,服务名称,在windows服务列表展示
description,服务描述,在windows服务列表展示
executable,服务启动时执行的脚本文件地址(根据实际情况改动)
stopexecutable,服务关闭时执行的脚本文件地址(根据实际情况改动)

  1. 执行安装命令
#服务安装(名称,根据实际情况改动)
test-service.exe install
#测试启动服务(在xml文件中自定义的服务id)
net start test
#测试关闭服务(在xml文件中自定义的服务id)
net stop test
  1. 不再使用时,卸载服务
#卸载服务(在xml文件中自定义的服务id)
sc delete test
文章来源:https://blog.csdn.net/u011429167/article/details/135291247
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。