WINDOWS上通过bat批量后台启动JAR包并生成启动日志文件

前言:

由于要部署定时任务上传日志,而服务器是windos servrer。所以需要在windos一直后台启动,简单的java -jar 显然不可以的,因为关闭窗口就关闭程序。

解决方法:

1.创建start.bat文件启动jar包

如start.bat,可以建立txt文本,建立时候重命名。

在start.bat里输入

@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
java -jar springboot.jar >StartupLog.log  2>&1 &
exit

第二行 是关闭黑窗口
第三行是 启动jar 和 输出控制台日志 并且在后台运行
在这里插入图片描述

2.记得把项目和bat放在同一目录下,双击bat 


自动生成StartupLog.log日志,查看日志看报成功还是失败即可,若失败,根据失败信息针对处理即可。

如端口被占用:
1.关闭windows上启动的服务
2.根据端口号查看pid
3.强制杀死进程
命令:netstat -aon|findstr "8080"

命令:taskkill /f /pid 9523

3. 创建stop.bat关闭特定端口的java程序

如果java程序是8080端口,在stop.bat输入

@echo off
set port=8080
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /f /pid %%m

 4. 创建restart.bat先根据端口关闭java程序,再启动jar包

@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
set port=8080
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do taskkill /f /pid %%m &
java -jar asus-1.0.0.jar > start2.log 2>&1 &
exit

 5. 批量重启jar

修改restart.bat文件

@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
set port1=8080
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port1%"') do taskkill /f /pid %%m &
set port2=8081
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port2%"') do taskkill /f /pid %%m &
set port3=8082
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port3%"') do taskkill /f /pid %%m &
java -jar springboot1.jar >StartupLog1.log  2>&1 &
java -jar springboot2.jar >StartupLog2.log  2>&1 &
java -jar springboot3.jar >StartupLog3.log  2>&1 &
exit

双击启动

效果如下:

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值