一切福田,不離方寸,從心而覓,感無不通。

Springboot学习之--将springboot注册为windows系统服务

最近做了一个项目,部署到客户的服务器上,运行状况也良好。就是客户的服务器经常会重启。然后客户也不是it人员,重启后重新启动服务,就得使用命令:
jar -jar xxxx.jar
这对于不懂技术的人来说是个很复杂的事,于是决定打算修改修改,就有了下文。

一、编写bat文件启动jar
1、新建一个名为fmstart.bat,打开编辑,写入以下内容

cd E:/springboot
java -jar fmstart-0.0.1-dev.jar
exit

2、然后保存。ok,下次启动时,可以直接点击fmstart.bat启动了。至此愉快的玩耍了几天。

你以为这样就完了,过了几天,客户觉得点击bat启动也太麻烦了,我想一开机就启动。于是又得改。

二、windows启动菜单添加快捷方式启动
1、win+R打开运行窗口,输入shell:startup;
2、将fmstart.bat,新建一个快捷方式,然后将快捷方式拷贝到启动项文件中。

重启电脑,看到了熟悉的界面,启动成功。

又过了几天,客户看到我们的cmd界面也不爽了,说能否不让它出现,我容易误把它关掉。
于是又得改改改。。。。。

三、使用winsw将springboot打包的jar注册系统本地服务
【注】:本人只在Windows Server和win7测试,可以成功;win10会报错。等待作者更新新版本。

1、先从github上下载winsw,下载地址https://github.com/kohsuke/winsw
我下载的是2.1.2版本,小伙伴们可下载最新的版本。

2、下载WinSW.NET4.exe,这个是支持.netframework4.0的版本,如果没有.net4.0,请先安装.net4.0,下载后改名成你想启动的服务名字。比如:fmstart.exe

3、新建一个fmstart.xml文件,编写配置内容

<service>
<id>fmstart</id>
<name>fmstart</name>
<description>This is fmstart service.</description>
<!-- java环境变量 -->
<env name="JAVA_HOME" value="%JAVA_HOME%"/>
<executable>java</executable>
<arguments>-jar "E:\springboot\fmstart-0.0.1-dev.jar"</arguments>
<!-- 开机启动 -->
<startmode>Automatic</startmode>
<!-- 日志配置 -->
<logpath>%BASE%\log</logpath>
<logmode>rotate</logmode>
</service>

4、保存fmstart.xml文件,将fmstart.xml和fmstart.exe放到要启动的jar的同级目录下。
例如:E:\springboot\

5、打开cmd,进入到E:\springboot;输入fmstart.exe install安装服务。
安装后,输入fmstart.exe start启动服务;

相关命令如下:
除了install命令外,还有其它命令:
uninstall:删除服务
start:启动服务
stop:停止服务
restart:重启服务
status:输出当前服务的状态

6、安装成功后,win+R打开运行,输入services.msc,查看是否有一个叫fmstart的服务。运行状态是否为正在运行。

如果安装成功后,服务状态为正在运行,即可测试你的接口来了。
到此结束了,客户每次启动服务器就会自己运行该服务,也不会有cmd小窗了。
———————
作者:mirfang
来源:CSDN
原文:https://blog.csdn.net/u012489412/article/details/81034375
版权声明:本文为博主原创文章,转载请附上博文链接!