通过nssm在windows系统下把jar包打包成服务
问题背景:
- 最近项目经常需要访问中台,而我们的中台都是小型的中台,比如执行定时任务的,执行通信任务的等等;
- 同时这些中台都是以jar包的形式存在的,每次通过java -java ** 命令行启动比较麻烦,同时会有很多人都会操作服务器,很有可能会被误关掉;
- 因此,我选择了通过nssm这个东西把jar包发布成windows服务,并且自动运行,就方便多了。
运行环境:
win10 64位操作系统 (各版本的 winService 服务器都是通用的)
本文案例
- 本文中,我会把我的一个
myservice.jar
文件打包成windows服务,服务名称也叫myservice
操作步骤
1. 下载nssm
我把自己用的nssm已经上传到了博客园,包括32位和64位版本的,链接在这儿:博客园nssm下载
2. 创建一个bat文件,同时文件中只填写一行执行jar包的命令
java -jar myservice.jar
3. 打开64位的nssm.exe所在目录,同时在当前目录打开cmd窗口
4. 在cmd窗口中输入命令 nssm install myService
,打开nssm配置服务的页面,并配置myservice服务
- 4.1选择bat执行文件,配置服务名称
- 4.2配置日志文件存储路径,完成后点击 Install Service 创建服务
- 文件创建成功,弹窗提示
5. 这个时候我们打开服务窗口,就会看到创建好的 myservice 服务
- 右键属性,设置为自动启动,然后点击启动,就可以了。
- 打开日志文件,会发现服务已经启动成功
6. 卸载服务
- 如果我们不想要这个服务了,也可以卸载nssm服务;
- 在cmd窗口中输入命令
nssm remove myservice
,然后点击确定就可以了
- 这时会有提示,服务已卸载
- 或者直接用管理员启动cmd窗口,然后输入
SC delete myservice
指令,也能删除服务