使用 WinSW(2.12.0) 安装
1. 下载 WinSW-x64.exe
https://download.csdn.net/download/qq_38688267/87699012?utm_source=bbsseo
2. sample-minimal.xml
https://github.com/winsw/winsw/releases/download/v2.12.0/sample-minimal.xml
3. 修改文件名
将两个文件名称修改为服务名,如: test.exe 和 test.xml
两个文件的名称需要保持一致
4. 修改 xml 文件
4.1 直接配置 java 命令
<service>
<id>testJava</id>
<name>test service</name>
<description>This service is a java service</description>
<env name="JAVA_HOME" value="%JAVA_HOME%"/>
<executable>java</executable>
<arguments> -jar .\test.jar -Dfile.encoding=utf-8</arguments>
<startmode>Automatic</startmode>
<logpath>.\logs</logpath>
<logmode>rotate</logmode>
</service>
4.2 配置脚本文件
<service>
<id>testJava</id>
<name>test service</name>
<description>This service is a java service</description>
<executable>start.bat</executable>
<startmode>Automatic</startmode>
<logpath>.\logs</logpath>
<logmode>rotate</logmode>
</service>
start.bat
set path=%JAVA_HOME%;%path%
java -jar .\test.jar -Dfile.encoding=utf-8
5. 安装 Java 环境脚本
@echo off
if "%JAVA_HOME%" == "" (goto java) else goto end
:java
set java_dir=d:\java
setx /M JAVA_HOME "%java_dir%"
setx /M CLASSPATH ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar"
setx /M path "%path%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;"
:end
echo 环境变量已安装
6. 安装脚本
@echo off
set dir_path="d:\test"
"%dir_path%"\test.exe install
net start testJava
7. 卸载脚本
@echo off
net stop testJava
sc delete testJava
8. xml 参数解释说明
标签名 | 作用 |
---|---|
id | 服务ID,在 windows 系统中必须唯一的系统标识 |
name | 服务显示名称,不能使用中文,仅限英文、数字、横线等 |
description | 服务描述,描述服务的作用 |
env | 设置环境变量 |
executable | 启动可执行文件的路径,如果配置了Java 环境变量,直接使用 java ,否则使用全路径 |
arguments | 传递给可执行文件的参数 |
startmode | 指定 Windows 服务的启动模式,默认值是 “Automatic” 开机启动 |
logpath | 配置日志路径 |
logmode | 日志输出模式,默认为 append |
logmode 参数
模式 | 描述 |
---|---|
append (追加模式) | 将日志全部输出在一个文件中,这个文件可能会越来越大 |
rotate(旋转模式,推荐) | 当文件大小达到 10M(默认值),会输出到另一份文件,默认最多保留8个 |
reset(重置模式) | 每次重启服务都会重置日志文件 |
none(忽略模式) | 不会生成日志文件 |