admin 管理员组

文章数量: 1184232

使用srvany将jar包注册成win服务并设置开机自启 弃用该方法,推荐使用NSSM的方式 点击跳转

该方法设置开机自启需修改注册表

1、下载srvany并解压

链接:
提取码: xtvd

2、注册服务

以管理员身份运行CMD窗口

[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指令杀掉

本文标签: 名称 置开机自 示例