Windows中SpringBoot做成服务启动

文章目录

  • 方法一:bat脚本方式
    • 第一步:制作bat脚本
    • 第二步:初始化服务
      • 1.下载工具
      • 2.运行工具
    • 第三步:修改注册列表
    • 优缺点
  • 方法二
    • 第一步:初始化服务
    • 第二步:修改注册列表
    • 优缺点
  • 备注

前情提要:Windows+SpringBoot的jar包项目,做成Windows服务启动方式。

方法一:bat脚本方式

第一步:制作bat脚本

做一个很简单的bat脚本:在你的SpringBoot的jar包的同目录下,建一个txt文档,改名成.bat后缀就行了,里面的内容就是启动SpringBoot服务的命令,比如

java -jar test-0.0.1-SNAPSHOT.jar

做完之后,可以双击运行改脚本,试一试脚本是否好使。

第二步:初始化服务

1.下载工具

下载微软系统小工具instsrv.exe和srvany.exe复制到C:\Windows\System32目录(64位操作系统复制一份到C:\Windows\SysWOW64目录下)。

链接:https://pan.baidu.com/s/1_8eHAiJWc2FBBUZ9t3EiNA
提取码:27xg

2.运行工具

然后打开cmd,运行命令,其中ServiceName为你要创建的服务名

instsrv ServiceName C:\Windows\System32\srvany.exe

运行成功后如下
Windows中SpringBoot做成服务启动_第1张图片

第三步:修改注册列表

打开注册列表(运行里面运行regedit),打开目录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\,找到对应的刚才创建的ServiceName。
如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。

名称 Application 值为你要作为服务运行的BAT文件地址。
名称 AppDirectory 值为你要作为服务运行的BAT文件所在文件夹路径。
名称 AppParameters 值为你要作为服务运行的BAT文件启动所需要的参数。

Windows中SpringBoot做成服务启动_第2张图片
然后再服务里面就能启动了。

优缺点

此方法部署后,因为是bat脚本启动,当你关掉服务的时候,无法关闭java进程。所以该方法应该只适用做电脑重启后,服务自动启动。

方法二

第一步:初始化服务

和方法一的第二步一样

第二步:修改注册列表

仍然找到方法一的第三步中的位置。如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。

名称 Application 值为写上运行命令,例如java -jar demo.jar。

Windows中SpringBoot做成服务启动_第3张图片
然后服务就能启动了。

优缺点

这样启动,虽然能在服务中进行启动已经停止。但是因为命令操作是在服务中进行的,文件读取是在system中进行的,如果部署的是springboot的jar包,那只能读取包内部的配置文件,如果配置的日志是相对路径,那么结果生成的也是相对于system文件夹的路径。

备注

删除服务的命令

sc delete gateway

你可能感兴趣的:(工作记录)