要将 Java 的 Jar 文件注册为 Windows 服务,可以使用一个称为 WinSW
的开源项目。 WinSW
是一个用 Java 编写的 Windows 服务包装器,它将可执行的 Jar 文件注册为 Windows 服务。
# 下载
访问 WinSW 的 GitHub 页面。
地址:https://github.com/winsw/winsw/releases
一般下载最新稳定版本,放入 Jar 文件所在目录。
# 配置
将 WinSW-x64.exe 改为有意义的名称,例如 myapp.exe
,便于管理识别。
在 Jar 文件所在目录中创建一个 xml 配置文件,名称要和上述 exe 同名,例如 myapp.xml
,输入以下内容,WinSW 会去读取相同名称 xml 文件中的配置进行相关设置。
<service> | |
<id>myapp</id> | |
<name>myapp</name> | |
<description>My App Service</description> | |
<executable>java</executable> | |
<arguments>-jar path/to/your/app.jar</arguments> | |
<logmode>rotate</logmode> | |
</service> |
确保将 path/to/your/app.jar 替换为 Jar 文件实际路径,exe 与 xml 同名。
参数描述:
参数 | 描述 |
---|---|
id | 服务 ID 名称,必须唯一 |
name | 服务显示名称,必须唯一,一般和 id 一致 |
description | 服务描述 |
executable | 执行命令 |
arguments | 命令参数 |
autoRefresh | 自动刷新服务属性 |
refresh | 刷新服务属性而不是重新安装 |
官方文档:https://github.com/winsw/winsw/blob/v3/docs/xml-config-file.md
# 注册
# 安装服务
打开终端(以管理员身份运行)并导航到 WinSW.exe 所在目录。运行以下命令安装服务:
myapp.exe install |
# 启动服务
运行以下命令启动服务:
myapp.exe start |
确保终端以管理员身份运行。
现在,Jar 文件已注册为 Windows 服务,并且可以在 Windows 服务管理器中找到。可以使用服务管理器启动、停止和管理该服务。
# 命令
常用命令:
命令 | 描述 |
---|---|
install | 安装服务 |
uninstall | 卸载服务 |
start | 启动服务 |
stop | 停止服务 |
restart | 重启服务 |
status | 检查服务状态 |
refresh | 刷新服务属性而不是重新安装 |