admin 管理员组

文章数量: 887021

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

  • Springboot学习之–将springboot注册为windows系统服务
    • 一、编写bat文件启动jar
    • 二、windows启动菜单添加快捷方式启动
    • 三、使用winsw将springboot打包的jar注册系统本地服务


最近做了一个项目,部署到客户的服务器上,运行状况也良好。就是客户的服务器经常会重启。然后客户也不是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/kohsuke/winsw
我下载的是2.1.2版本,小伙伴们可下载最新的版本。

2、下载WinSW.NET4.exe,这个是支持framework4.0的版本,如果没有4.0,请先安装4.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小窗了。

本文标签: 系统 SpringBoot Windows