Windows环境将SpringBoot程序注册成为服务实现开机自启和后台运行

由于通过java -jar方式启动的springboot程序需要有一个cmd窗口,无法实现Linux上nohup命令的后台运行效果。所以需要将开发的springboot程序注册成windows服务,实现开机自启和无窗口运行。

下载WinSW.NET4.exe

下载地址:https://github.com/kohsuke/winsw/releases

Windows环境将SpringBoot程序注册成为服务实现开机自启和后台运行_第1张图片

此文件下载完成之后需要与程序放在同级目录,并修改名称为 程序名.exe。

创建初始化服务的xml文件

创建一个xml文件,此xml文件也需要与程序同名,用于初始化服务。内容如下:


<service>
    
    <id>win-demoid>
    
    <name>win-demoname>
    
    <description>win-demo Servicedescription>
    
    <executable>D:\Dev\jdk_8u_101\bin\java.exeexecutable>
    
    <arguments>-Xrs -Xmx512m -jar win-demo.jararguments>
    
    <logpath>D:\temp\loglogpath>
    <logmode>rotatelogmode>
service>

此时目录下的内容如下:

Windows环境将SpringBoot程序注册成为服务实现开机自启和后台运行_第2张图片

初始化服务

使用管理员身份打开cmd窗口,注意一定要使用管理员身份打开,否则服务无法启动时无法删除服务。

进入程序目录

Windows环境将SpringBoot程序注册成为服务实现开机自启和后台运行_第3张图片

使用 win-demo.exe install命令安装服务,未出现错误信息即代表安装成功。如果提示错误信息,检查exe,jar,xml文件名是否完全一致,文件后缀名是否有打开显示,以及xml文件中的内容是否无误。

服务安装成功.png

安装成功之后打开服务面板,可以看到已经安装成功的服务。

Windows环境将SpringBoot程序注册成为服务实现开机自启和后台运行_第4张图片

选中服务,右键属性打开,可以在启动类型选择是否开机自启,根据自己的需求来调整。关掉窗口,选中服务,右键启动即可运行springboot程序,状态显示 正在运行 则表示启动成功,程序在后台运行,无cmd窗口,实现所需效果。

访问接口,得到所需结果,证明程序可以正常运行。

Windows环境将SpringBoot程序注册成为服务实现开机自启和后台运行_第5张图片

服务更新和删除

更新程序只需要到服务列表右键停止就好了,然后把新的jar包放到目录下,再回到服务列表右键重新启动服务即可完成更新。需要注意的时更新的jar包名称必须与原名称保持一致,否则服务无法启动。

删除服务需要使用管理员身份打开cmd窗口,使用 sc delete win-demo命令删除服务,win-demo 需要更换为自己的服务名称。

Windows环境将SpringBoot程序注册成为服务实现开机自启和后台运行_第6张图片

你可能感兴趣的:(SpringBoot)