window 将jar包注册为服务,实现开机自动启动

1、使用winsw

将这两个下载 1、放在和jar包的同一目录下 2、将上面这两个文件重命名为服务名(可以随便起,只要不和电脑上的服务名重名就行了) 3、修改xml文件(用的时候注释里面不要有中文)

<!--
 这是一个最小的Windows Service Wrapper配置示例,其中仅包括强制选项。

此配置文件应放在WinSW可执行文件附近,名称应相同。

E、 g.对于myapp。exe配置文件名应为myapp。xml

您可以在此处找到有关配置选项的更多信息:https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md

完整示例:https://github.com/kohsuke/winsw/blob/master/examples/sample-allOptions.xml
-->
<service>
  
  <!-- 服务的ID。它在整个Windows系统中应该是唯一的-->
  <id>CacheMain</id>
  <!-- 服务的显示名称 -->
  <name>CacheMainService</name>
  <!-- 服务描述 -->
  <description>This service is a service created from a minimal configuration</description>
  
  <!-- java环境变量 -->
     <env name="JAVA_HOME" value="%JAVA_HOME%"/>
     
     <executable>java</executable>
 
    <arguments>-jar "D:workspacepracticeCache	argetCache - 1.0.1.jar"  --xx</arguments>
 
  <!-- 开机启动-->
     <startmode>Automatic</startmode>
</service>
1、<id>和<name>标签中的内容建议设置和exe和xml文件一样的,如我这里是Cache.exe和Cache.xml,所以设置为Cache和CacheService,不能和已存在服务重名

2、<arguments>标签引号中的jar包地址和名称需要替换成自己的,如果启动命令不是java -jar "xxx",而是java -jar "xxx" --xx,将--xx跟在引号后面即可。如<arguments>-jar "C:WindowsSystem32cmd.exeCollectionGrapthMap.jar"  --xx</arguments>

3、安装服务

在exe所在目录执行CacheMain.exe install ,Cache名自己替换,如需要卸载输入CacheMain.exe uninstall

4、启动服务 win+r,输入services.msc,查找到自己刚安装的服务,右键启动

注意:一个jar包只能注册为一个服务

经验分享 程序员 微信小程序 职场和发展