天天看点

Java无框架脚本在windows中打包注册成服务设置开机自启动

1 打成jar包

我这边用的是maven来进行打包,进入项目中使用命令mvn clean install来进行打包,由于我这边涉及一些dll文件。因此打包后,这些文件要按照脚本的调用路径与jar包放在同级目录下。比如我在脚本中调用了"src\\main\\resources\\dll\\lib\\XX.dll",那么在jar包的当前目录下要有个同级的src目录,一层一层到最后有XX.dll,这样脚本才能正常运行

2 做成服务

我这边用的是winsw来进行注册服务操作,参考如下链接:

https://blog.bossma.cn/server/winsw-install-executable-windows-service/

将winsw.exe与jar包放一起,并手动创建一个winsw.xml文件。这三个文件的名字一定是相同的。

我自己的xml文件的内容如下所示,链接里有更详细的说明(我的jar包与winsw全都改成了xinan,这是我项目名)

<service>
	<id>xinan</id>
	<name>xinan</name>
	<description>xinan project</description>
	<executable>java</executable>
	<arguments>-Xrs -Xmx256m -jar "D:\winsw-master\xinan.jar" --httpPort=8080</arguments>
	<logmode>rotate</logmode>
</service>
           

然后在当前目录下输入命令来注册jar包成服务winsw.exe install   (如果winsw.exe已改名为其他名称,则改一下,不要直接复制我这个命令就用)

3 设置断开自重启与开机自启动

断开自重启:找到你刚注册的服务,点击右键属性->恢复,在第一次、第二次、后续失败都设置重新启动服务

开机自启动:找到你刚注册的服务,点击右键属性->常规,在启动类型选择自动