Jar文件做成windows服务-Win篇

1,242 阅读1分钟

PS:winsw是一个可以将任何应用程序注册成服务的软件

1、下载winsw

我下载的是【WinSW-x64.exe】

2、重命名文件

将【WinSW-x64.exe】重命名为winsw.exe,

3、添加配置文件winsw.xml

注意:必须将exe和xml文件改成相同名字

<service>
	<!-- 服务的ID。它在整个Windows系统中应该是唯一的-->
	<id>demo</id>
	<!-- 服务名称 -->
	<name>demo</name>
	<!-- 服务描述 -->
	<description>此服务运行demo服务</description>
	<!-- 应启动的可执行文件的路径,必须安装Java环境 -->
	<executable>java</executable>
	<!-- 执行参数 -->
	<arguments>-jar demo.jar</arguments>
	<!-- 开机启动 -->
	<startmode>Automatic</startmode>
	<!-- 日志目录 -->
	<logpath>logs\service</logpath>
	<!-- 日志配置 -->
	<logmode>none</logmode>
</service>

4、安装服务

【win+R】打开,输入cmd 进去winsw.exe 所在目录

#安装服务
.\winsw.exe install

5、检查服务是否安装

【win+R】打开,输入services.msc

#常用命令

#安装服务
.\winsw.exe install
#卸载服务
.\winsw.exe uninstall
#启动服务
.\winsw.exe start
#停止服务
.\winsw.exe stop
#重启服务
.\winsw.exe restart
#状态服务
.\winsw.exe status

附带一份常用命令批处理文件

  1. 安装服务
  2. 卸载服务
  3. 启动服务
  4. 停止服务
  5. 重启服务
  6. 状态服务
@echo off
chcp 65001 >nul

rem winsw.exe名字,注意修改!!!!
set name=winsw.exe
rem 项目名称
set project=JAR包注册WIN系统应用服务
rem 标题
title 【%project%】,时间:%DATE% %time%

rem 菜单选项
:again
echo --------------------------------------------------------------
echo %project%
echo --------------------------------------------------------------
echo 1、安装服务.
echo 2、卸载服务.
echo 3、启动服务.
echo 4、停止服务.
echo 5、重启服务.
echo 6、状态服务.
echo --------------------------------------------------------------
set /p num=请输入选择并按回车:


if "%num%"=="1" goto install
if "%num%"=="2" goto uninstall
if "%num%"=="3" goto start
if "%num%"=="4" goto stop
if "%num%"=="5" goto restart
if "%num%"=="6" goto status
echo 批处理自动退出.
exit 

:install
cls
.\%name% install
echo ====================================
echo 执行完成
echo ====================================
pause
goto again

:uninstall
cls
.\%name% uninstall
echo ====================================
echo 执行完成
echo ====================================
pause
goto again

:start
cls
.\%name% start
echo ====================================
echo 执行完成
echo ====================================
pause
goto again

:restart
cls
.\%name% restart
echo ====================================
echo 执行完成
echo ====================================
pause
goto again

:stop
cls
.\%name% stop
echo ====================================
echo 执行完成
echo ====================================
pause
goto again

:status
cls
.\%name% status
echo ====================================
echo 执行完成
echo ====================================
pause
goto again