现实环境是有些甲方的物理服务器是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.
|