windows下 定时重启 由mvn命令运行的springboot

springboot开发效率不错。但是部署起来,如果全量打jar包,从自己的开发环境拷贝服务器,比较费时(当然也有,增量复制更新文件的方法,这里不探讨)。那么此时,也可以在服务器上,直接把代码从git/svn上拉下来,然后切到检出目录下,直接用mvn命令启动工程,免得打包的麻烦。

当然,也可以直接在服务器上,拉代码,打好jar包,然后用java -jar执行。2种方法都比直接复制jar要来的快。

假设这时候,我想,定时重启这个springboot,那么由于它没有部署在tomcat里,无法通过定时重启tomcat的windows服务或者tomcat脚本来实现。

这时可以如下:

目录

制作一个启动run.bat

在window的计划任务里,调度它

查看控制台日志:

把所有日志输出到springboot的日志文件里


制作一个启动run.bat

rem ---------- 先杀死 当前 正占用8080端口的 先前跑起来的 任务
setlocal enabledelayedexpansion
set port=8080
for /f "tokens=1-5" %%a in ('netstat -ano ^| find ":%port%"') do (
    if "%%e%" == "" (
        set pid=%%d
    ) else (
        set pid=%%e
    )
    echo !pid!
    taskkill /f /pid !pid!
)
rem ---------- 杀进程 结束

rem 一定要切换到目标盘符和目录;如果不写,可以在windows任务属性里定义它
E:
cd E:\java\springboot

git pull

call mvn package

call mvn spring-boot:run -Dmaven.test.skip=true -Dspring-boot.run.jvmArguments="-Xms128m -Xmx1024m"

rem call mvn exec:java -Dexec.mainClass="my.TCPServer" -Dexec.classpathScope=runtime

在window的计划任务里,调度它

这样,基本就能实现目的了。

注意:上面“允许 按需运行任务”,这样可以 手动地 启动/停止 这个任务,做调试用;同时不影响windows的任务计划调度它。

 在windows调度时,如果脚本里,不写 盘符切换+目录切换(E:,cd E:\java\springboot\),则也可以在此任务的“属性”-->"操作"-->"编辑"--->"起始于(可选)" 里,写上脚本所在的路径,否则调度不起来。(非常重要!!!)

查看控制台日志:

这里会带来一个问题,就是springboot的运行控制台没有了。如果springboot有日志输出,可以用windows下的tail命令行,来观察按天输出的springboot日志:

set dateStr=%date:~0,4%-%date:~5,2%-%date:~8,2%
echo %dateStr%
tail -f ..\..\applog\%dateStr%\%dateStr%.log

正规做法:把所有日志输出到springboot的日志文件里

//在类的开头定义Logger 
private final Logger logger = LoggerFactory.getLogger(this.getClass());

//在需要输出的地方定义------
logger.info("------")。。。。。
logger.debug("------")。。。。。

//把错误日志也输出到log
				} catch (Exception e) {
					// TODO Auto-generated catch block
					logger.error(e.getMessage());
				}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值