使用srvany将jar包注册成win服务并设置开机自启 弃用该方法,推荐使用NSSM的方式 点击跳转NSSM方式
该方法设置开机自启需修改注册表
1、下载srvany并解压
链接: https://pan.baidu.com/s/1-A5Xu4op6V1f1BFbdXrUWg?pwd=xtvd
提取码: xtvd
2、注册服务
以管理员身份运行CMD窗口
将path 替换成 srvany解压路径 serverName 替换成 服务名称
[path]\srvany\instsrv.exe [serverName] [path]\srvany\srvany.exe
示例:
C:\srvany\instsrv Server_8080 C:\srvany\srvany.exe
3、创建bat脚本
创建一个txt文件 将下面指令复制到txt文件中,再将文件txt后缀改为bat,
注意换成自己的jar包路径
start java -Dfile.encoding=UTF-8 -jar C:\Users\Desktop\test\server_8080.jar
4、修改注册表
win键+R 输入 regedit 进入注册表
注册表路径,复制下面的路径,找到
将serverName 替换成 刚刚创建的服务名
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[serverName]
示例:
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Server_8080
如果该服务名下没有 Parameters 项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项右键新建以下几个字符串值。
名称 Application 值为你要作为服务运行的程序地址,既bat文件路径。
示例:
C:\Users\Desktop\test\server_8080.bat
名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径,既bat文件上级文件夹路径。
示例:
C:\Users\Desktop\test
5、开启服务自启
启动服务
6、删除服务
以管理员身份运行CMD窗口
将serverName替换成需要删除的服务名称
sc delete [serverName]
示例:
sc delete Server_8080
7、扩展
设置服务的依赖关系,开机自启时会在全部依赖启动完成再启动
将serverName替换成自己的服务名称,serverName1、serverName2替换成依赖的服务名称 多个用 / 分割
sc config "[serverName]" depend= "[serverName1]"/"[serverName2]"/...
示例: 将数据库服务和redis服务设置成Server_6060服务的依赖
sc config "Server_6060" depend= "postgresql-x64-13"/"redis"
注意:
停止服务并不会杀掉jar包的进程,需自己用CMD指令杀掉