架构师

您现在的位置是:首页 > 技术博客 > 爱运维

爱运维

springboot项目启动脚本并设置开机自启动隐藏黑窗口

架构师小跟班 2020-05-16 爱运维
springboot项目的部署与SSM架构的部署(打成war包到tomcat/webapps/下)有所不同,比较明显的是springboot打包为jar包,运行则是通过java -jar xxx.jar命令执行,不再需要放置在tomca

springboot项目的部署与SSM架构的部署(打成war包到tomcat/webapps/下)有所不同,比较明显的是springboot打包为jar包,运行则是通过java -jar xxx.jar命令执行,不再需要放置在tomcat下面。

使用Maven生成jar包:demo-0.0.1-SNAPSHOT.jar

传统方式:

java -jar demo-0.0.1-SNAPSHOT.jar

升级版本

以上方法还需要打开Windows命令窗口,输入命令,比较麻烦。我们可以创建一个bat脚本来实现这个功能。

创建文件startup.bat,内容如下:

@echo off
:: 进入D盘
D:
:: 执行jar包,如果出错写入日志
java -jar demo-0.0.1-SNAPSHOT.jar 1>error.log
:: 退出窗口
exit

使用方法:jar包放到D盘根目录下,双击bat文件即可。

1>error.log:意思是出现错误,将错误信息写入error.log文件,如果文件不存在,自动创建。

优化版本

上面的两种方式不能满足开机自启动需求。如果有一天服务器宕机了,重启服务还需要人工来操作,太麻烦了。所以下面我们利用windows启动菜单添加快捷方式来完成开机自启的需求。

第一步:使用win + R快捷键打开运行窗口,输入shell:startup

在弹出的文件夹内放入前面写的startup.bat脚本的快捷方式

第二步:重启电脑进行测试。

最终版本

以上方式都有一个通病:任务栏一直显示一个CMD窗口,而且这个窗口不能关,关了程序就停了。而我们的客户很多是不懂电脑的,很有可能误操作“顺手”就给关了。

怎么解决呢?

将上述脚本中的java改为javaw即可,即:

@echo off
:: 进入D盘
D:
:: 执行jar包,如果出错写入日志
javaw -jar demo-0.0.1-SNAPSHOT.jar 1>error.log
:: 退出窗口
exit

关掉黑窗口测试一下:接口服务还是在的。

注意:重启后黑窗口会短暂出现,不用管它,待程序执行完毕后黑窗口会自动关闭。

文章评论