jar注册为服务的方式
1、采用nssm工具管理
nssm install MyJavaApp "C:\Program Files\Java\jdk-17\bin\java.exe" nssm set MyJavaApp AppParameters "-jar C:\path\to\1.jar" nssm set MyJavaApp AppDirectory "C:\path\to\" nssm set MyJavaApp AppStdout "C:\logs\service.log" nssm set MyJavaApp AppStderr "C:\logs\error.log"
❌ 错误方式,避免使用
nssm install MyJavaApp "cmd /c start java -jar 1.jar"
也不要使用将命令做成bat文件,然后加载bat(nssm不好管理cmd进程,不稳定)
nssm install MyJavaApp "C:\path\to\run.bat"
2、用monitorService.exe工具管理
MonitorService.exe 是另一种轻量级的 Windows 服务封装工具,类似于 NSSM,但更简单易用。它可以直接将任意可执行程序(如 java -jar)注册为系统服务,并提供进程监控、自动重启等功能。
1. 下载 MonitorService
-
官方地址:https://github.com/kohsuke/winsw/releases(WinSW 项目的一部分)
-
文件:
-
MonitorService.exe(主程序) -
MonitorService.xml(配置文件)
-
2. 配置服务
(1) 创建 MonitorService.xml
在 JAR 文件所在目录创建 MonitorService.xml,内容如下:
<service>
<id>MyJavaApp</id>
<name>MyJavaApp Service</name>
<description>Runs MyJavaApp as a Windows Service</description>
<executable>java</executable>
<arguments>-jar "C:\path\to\1.jar"</arguments>
<logmode>rotate</logmode>
<onfailure action="restart" delay="10 sec"/>
</service>
参数说明:
-
<id>:服务唯一标识(如MyJavaApp)。 -
<name>:服务显示名称。 -
<executable>:Java 可执行文件路径(java或完整路径如C:\Program Files\Java\jdk-17\bin\java.exe)。 -
<arguments>:-jar参数指定 JAR 文件路径。 -
<onfailure>:进程崩溃时自动重启(可选)。
(2) 注册服务
在命令行运行:
MonitorService.exe install
这会读取当前目录下的 MonitorService.xml 并注册服务。
(3) 启动服务
net start MyJavaApp
或:
sc start MyJavaApp
3. 管理服务
| 命令 | 功能 |
|---|---|
MonitorService.exe install |
安装服务 |
MonitorService.exe uninstall |
卸载服务 |
MonitorService.exe start |
启动服务 |
MonitorService.exe stop |
停止服务 |
MonitorService.exe restart |
重启服务 |
MonitorService.exe status |
查看服务状态 |
4. 日志管理
-
默认日志路径:
MonitorService.exe同目录下的logs文件夹。 -
自定义日志(在
MonitorService.xml中配置):<logpath>C:\logs\MyJavaApp</logpath> <logmode>roll</logmode> -

浙公网安备 33010602011771号