最近公司需要把启动jar的方式变成服务
优点: 方便查看服务, 防止误关bat的窗口,可以重启启动服务
看了很多文章,都是写如何配置
大概是两种方案:
- instsrv.exe srvany.exe 弄成服务
- WinSW.exe的方式
第一种方案
一. 实现步骤
- instsrv.exe srvany.exe 下载
- 移动到随意位置, 然后呼出cmd instsrv.exe [服务名] srvany.exe
- 然后去注册表找 win+R => regedit HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\你的服务名称
- 找到了创建项 名字为 Parameters
- 右面添加三个
二.面临问题
服务停止, 进程还在 ,没找到解决方案
第二种方案(二者最优)
一. 实现步骤
- WinSW-x64.exe 下载地址: https://github.com/winsw/winsw/releases 然后下载下来,
- 把名字改成WinSW 或者自己的服务名, 写一个对应的改的名字的xml
里面内容:
<service>
<id>aaiTest</id>
<name>Test</name>
<description>This service runs Test continuous integration system.</description>
<executable>java</executable>
<arguments>-server -Xmx2048m -Xms2048m -Xmn768m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xss2m -Dfile.encoding=utf-8 -jar a.jar</arguments>
<log mode="roll" />
<onfailure action="restart" />
</service>
二.实现优势
能正常停止 重新启动