jar包做成Windows服务自动启动

mn01.jpg


使用工具 WINSW


下载地址:https://github.com/winsw/winsw/releases


1.将下载的WinSW.NET4.exe文件复制到jar程序所在文件夹中。

2.将WinSW.NET4.exe重命名如jykjdashboard.exe(和jar同名)。

3.在同目录下新建一个xml文件,命名为jykjdashboard.xml,写入以下内容:


<service>
<id>jykjdashboard</id>
<name>jykjdashboard</name>
<description>This is a HelloWorld</description>
<env name="JAVA_HOME" value="%JAVA_HOME%"/>
<executable>java</executable>
<arguments>-jar "E:\WH\jykjdashboard.jar"</arguments>
<startmode>Automatic</startmode>
<logpath>logs\log</logpath>
<logmode>rotate</logmode>
</service>

或者 

<configuration> 
<!-- ID of the service. It should be unique accross the Windows system-->
<id>jykjdashboard</id>
<!-- Display name of the service -->
<name>jykjdashboard</name>
<!-- Service description -->
<description>看板后台</description>
<executable>java</executable>
<arguments>-jar jykjdashboard.jar --server.port=8096</arguments>
</configuration>


设置好xml中的配置信息

打开CMD,切换到当前项目的文档

使用 jykjdashboard.exe install  安装服务,如果安装时报错,如下


WMI.WmiException: AccessDenied

在 WMI.WmiRoot.BaseHandler.CheckError(ManagementBaseObject result)

在 WMI.WmiRoot.ClassHandler.Invoke(Object proxy, MethodInfo method, Object[] args)

在 winsw.WrapperService.Run(String[] _args, ServiceDescriptor descriptor)

在 winsw.WrapperService.Main(String[] args)


需要使用管理员身份运行CMD 来安装

安装完成之后 显示 如:


 INFO  - Installing the service with id 'jykjdashboard'

此时,查看系统管理中的服务项,已经多了一个按照以上名称命名的系统服务。


配置完成后,就可以随系统启动该服务。

该服务其他命令:

servers.exe install    安装服务

servers.exe uninstall  卸载服务

servers.exe start      启动服务

servers.exe stop      停止服务

servers.exe restart   重启服务

servers.exe status   查看服务状态


qrcode