奇葩需求:springboot项目注册为windows系统服务并设置开机自启
程序员的成长之路互联网/程序员/技术/资料共享 关注
阅读本文大概需要 4 分钟。
作者:双主双机热备
来源:http://suo.im/5yPoPJ
关于springboot项目的部署与SSM(框架)部署war包到Tomcat下有所不同,比较明显的是springboot打包为jar包,运行则是执行通过java -jar xxx.jar,不再需要放置在Tomcat下面运行。关于springboot项目部署相对于之前简化了一些步骤,只需要在服务器中安装好jdk环境,然后执行java -jar xxx.jar就可以把项目跑起来,如下所示。我们通过传统--->改进版--->改进版plus--->最终版演变方式来一步步探讨一下。1、方式一(传统版)
(1)假设这是window服务器,D盘中有一个名为demo-0.0.1-SNAPSHOT.jar项目2、改进版
以上方式运行项目还需要手动进入cmd输入命令,相对来说比较麻烦。下面我们可以通过一个bat脚本来实现这个功能。(1)脚本内容,比较简单。3、 改进版plus
关于以上的两种方式不能满足开机自启动需求。假设服务器宕机,重启启动服务还需要人工操作。所以下面我们利用windows启动菜单添加快捷方式来完成开机自启的需求。(1)win+R打开运行窗口,输入shell:startup4、 最终版
关于以上的3种方式都有一个通病:一直显示着一个CMD窗口,而且这个窗口不能关,关了程序就停了。继而引出了我们今天的主角:可以将Windows上的任何一个程序注册为服务的工具--winsw关于winsw官方发言:WinSW is an executable binary, which can be used to wrap and manage a custom process as a Windows service.WinSW是一个可执行的二进制文件,可用于将自定义进程包装和管理为Windows服务。下载地址:https://github.com/kohsuke/winsw/releases源码地址:https://github.com/kohsuke/winsw (1)工具下载以下两个版本:WinSW.NET4.exe:支持.netframework4.0的版本,如果没有4.0,请先安装.net4.0。如下图:springbootDemo springbootDemo This is springbootDemo service. "JAVA_HOME" value="%JAVA_HOME%"/> java -jar "D:\springboot-service\demo-0.0.1-SNAPSHOT.jar" Automatic %BASE%\log rotate
(6)打开cmd窗口,注册服务cd springboot-servicespringbootDemo.exe installspringbootDemo springbootDemo This is springbootDemo service. "JAVA_HOME" value="%JAVA_HOME%"/> java -jar "D:\springboot-service\demo-0.0.1-SNAPSHOT.jar" Automatic %BASE%\log rotate
网友:看到 955 不加班的公司名单,我酸了...
如何设计一个超级牛逼的 Feed 流系统
5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「2048」,即可免费获取!!
微信扫描二维码,关注我的公众号
朕已阅
评论