本人选择使用 WinSW(Windows Service Wrapper)工具。
工具下载地址
- 访问 GitHub Releases
- 下载对应版本(如:WinSW-net4.exe)
下载下来后,将exe文件重命名,设置和jar包名称一样。
然后创建与jar包文件 同名的XML配置文件(如:jar-service.xml):
xml
<service>
<!-- ID:系统内唯一的服务标识,不能包含空格 -->
<id>JarService</id>
<!-- 显示在服务管理器中的名称 -->
<name>Jar包Service服务(powered by WinSW)</name>
<!-- 服务的详细描述 -->
<description>后端Java服务</description>
<!-- jdk路径 -->
<executable>E:\Java\jdk1.8.0_333\bin\java.exe</executable>
<!-- 传递给可执行文件的参数 -->
<arguments>
<!-- 设置JVM内存参数 -->
-Xms256m
-Xmx512m
<!-- 指定要运行的Jar包,必须使用绝对路径 -->
-jar "E:\home\ys\jar-service.jar"
<!-- 如果你的应用有配置文件(如application-prod.yml),可以在这里指定 -->
<!-- spring.profiles.active=prod -->
</arguments>
<!-- 工作目录:非常重要,会影响相对路径 -->
<workingdirectory>E:\home\ys</workingdirectory>
<!-- 日志模式:旋转,避免日志文件无限增大 -->
<logmode>rotate</logmode>
<!-- 每个日志文件最大20MB(20480 KB) -->
<size>20480</size>
<!-- 总共保留10个日志文件 -->
<keepFiles>10</keepFiles>
<!-- 核心解决方案:设置控制台编码为 UTF-8 -->
<env name="JAVA_TOOL_OPTIONS" value="-Dfile.encoding=UTF-8" />
<!-- 环境变量(可选) -->
<env name="JAVA_HOME" value="E:\Java\jdk1.8.0_333"/>
</service>
安装方法:
再次强调:jar包名称、exe名称、xml名称三者要一样的。(jar-service.exe、jar-service.jar、jar-service.xml)
bash
cmd终端 进入到jar-service.exe目录(管理员权限!)
# 卸载旧服务
jar-service.exe uninstall
# 安装新服务
jar-service.exe install
# 启动服务
jar-service.exe start