WinSW 安装 Jar 为服务

使用 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>testJavaid>
  <name>test servicename>
  <description>This service is a java servicedescription>
  <env name="JAVA_HOME" value="%JAVA_HOME%"/>
  <executable>javaexecutable>
  <arguments> -jar .\test.jar -Dfile.encoding=utf-8arguments>
  <startmode>Automaticstartmode>
  <logpath>.\logslogpath>
  <logmode>rotatelogmode>
service>

4.2 配置脚本文件

<service>
  <id>testJavaid>
  <name>test servicename>
  <description>This service is a java servicedescription>
  <executable>start.batexecutable>
  <startmode>Automaticstartmode>
  <logpath>.\logslogpath>
  <logmode>rotatelogmode>
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(忽略模式) 不会生成日志文件

你可能感兴趣的:(OS,jar,python,java)