• 如何使用WinSW 将Java程序注册为 Windows服务
  • 发布于 2个月前
  • 551 热度
    0 评论
  • 久就旧
  • 0 粉丝 25 篇博客
  •   
现实环境是有些甲方的物理服务器是Widnwos系统,还不能切换Linux,就必须在 Windows 运行 Java 程序,cmd 的控制台窗口很容易被误关闭,需要把 Java 程序注册为 Windows 随机启动。

WinSW 介绍
WinSW 将任何应用程序作为 Windows 服务进行包装和管理。当前最新版本是 WinSW v3.0.0-alpha.10。WinSW 3 可以在已安装 NET Framework 4.6.1 或更高版本的 Windows 平台上运行。对于缺少 .NET Framework 的系统,该项目提供了基于 .NET Core的原生64位和32位可执行文件。
详细可参考:XML 配置规范,配置示例

WinSW 配置
1.到 Github 下载 WinSW > winsw/winsw。
2.将 WinSW.exe 文件复制到 Java 程序所在目录。
3.将 Java 程序文件名中间的 .去掉。例如 myapp-1.0.jar 改为 myapp.jar
4.净 WinSW.exe 重命名为与Java 程序相同的文件名,仍是.exe后缀。例如,Java 程序是 myapp.jar,将 WinSW.exe 改为 myapp.exe。
5.创建 myapp.xml 文件,并与 myapp.exe 放在一起,便 于WinSW 发现配置
6.执行 myapp.exe insta [options]安装服务。
7.执行 myapp.exe start 起动服务。
8. XML 配置文件示例

下面的示例是 Jenkins 项目中使用的原始示例:
<service>
  <id>jenkins</id>
  <name>Jenkins</name>
  <description>This service runs Jenkins continuous integration system.</description>
  <env name="JENKINS_HOME" value="%BASE%"/>
  <executable>java</executable>
  <arguments>-Xrs -Xmx256m -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
  <log mode="roll"></log>
</service>
9.安装服务:CMD控制台执行: myapp.exe install
10.可以在 Windows 服务列表看到启动的服务。如果要更新服务,需要先停止服务。
11.卸载服务:CMD控制台执行: myapp.exe uninstall

WinSW 命令
ommand Description
install 安装服务
uninstall 卸载服务
start 启动服务
stop 停止服务
restart 重启服务
status 检查服务状态
refresh Refreshes the service properties without reinstallation.
customize Customizes the wrapper executable.
dev Experimental commands.

用户评论