一.NetCore
1.创建启动脚本run_instal.bat,例如程序文件为ApiDoc.exe
set serviceName="Apidoc Web 01"
set serviceFilePath=%~dp0ApiDoc.exe
set serviceDescription="ApiDoc 动态接口服务 web 01"
sc create %serviceName% BinPath=%serviceFilePath%
sc config %serviceName% start=auto
sc description %serviceName% %serviceDescription%
sc start %serviceName%
pause
serviceName 服务名,如果多个单子可以有空格,但必须用""包起立
description 服务说明 BinPath 路径
%~dp0 当前bat文件路径 start=auto 开机自动启动 start: 启动服务
2.卸载脚本run_unstall.bat
set serviceName="Apidoc Web 01"
sc stop %serviceName%
sc delete %serviceName%
pause
windows服务只能以命令方式卸载,最后把bat文件和.exe文件放在同目录下
二.普通jar包
1.下载WinSW,根据服务器的.net环境自行选择,此处使用WinSW-x64.exe
https://github.com/winsw/winsw/releases
https://github.com/winsw/winsw/tree/v2.12.0?tab=readme-ov-file
2.将WinSW-x64.exe重命名为WinServerTest.exe,并拷贝到jar包同目录
3.新建一个WinServerTest.xml的文件,编码格式为UTF-8,内容如下
<service>
<!-- ID of the service. It should be unique across the Windows system-->
<id>WinServerTest</id>
<!-- 服务名 -->
<name>WinServerTest</name>
<!-- 服务说明 -->
<description>This service is a service test WinServerTest</description>
<!-- 应启动的可执行文件的路径 -->
<executable>java</executable>
<!-- 当前路径的程序 -->
<arguments>-jar WinServerTest-1.jar</arguments>
<!-- 服务启动模式 Automatic:自动 -->
<startmode>Automatic</startmode>
<!-- 日志位置,为当前路径logs文件夹下 -->
<logpath>logs</logpath>
</service>
4.创建安装服务脚本install.bat
cd %~dp0
WinServerTest install
WinServerTest start
pause
5.创建删除服务脚本uninstall.bat
cd %~dp0
WinServerTest stop
WinServerTest uninstall
pause
6.最后的文件目录
三.