准备工作
1.在idea中用maven将项目打包成 jar,放到运行的目录中
2.去github中下载 winsw: https://github.com/kohsuke/winsw/releases
3.将WinSW.NET4.exe文件复制到java程序所在文件夹中
4.将jar程序名称中的 "."去除,如xxx-2.0.jar --->xxx.jar
5.将WinSw.NET4.exe重命名为跟 jar 同名
6.新建一个 xml 文件,命名与 jar 相同名称,并且写入如下内容
<service>
<id>xxx</id>
<name>xxx</name>
<description>This is xxx service.</description>
<!-- java环境变量 -->
<env name="JAVA_HOME" value="%JAVA_HOME%"/>
<executable>java</executable>
<arguments>-jar "E:\springboot\ xxx.jar"</arguments>
<!-- 开机启动 -->
<startmode>Automatic</startmode>
<!-- 日志配置 -->
<logpath>%BASE%\log</logpath>
<logmode>rotate</logmode>
</service>
注意:如果没有配置环境变量,直接将三个文件扔到java的bin目录下运行。去掉标签<env name="JAVA_HOME" value="%JAVA_HOME%"/>
启动服务
命令行到当前目录下,执行命令xxx.exe install
查看是否注册成功window服务
去window服务列表查看是否成功注册
注意:如果需要更新程序,只需要先将服务停止,再将新文件重命名为HelloWorld.jar,最后启动服务就行了
另外要注意点:在使用cmd命令进行install注册服务的时候,需要以管理员的身份进入到当前目录路径下,install服务,否则会提示以管理员权限进去 WMI Operation failure: AccessDenied