欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

win10下定时运行和开机自启动jar包

程序员文章站 2022-06-28 19:03:13
需求说明:1.jar包开机自启动2.jar包每隔一段时间重启运行环境:win10...

需求说明:

  1. java程序打包成jar包
  2. jar包开机自启动
  3. jar包每隔一段时间重启

环境说明

运行环境:win 10
编程环境:IDEA 2019
项目:MAVEN项目

IDEA中打包maven项目

右侧maven–点击package–打包完成

win10下定时运行和开机自启动jar包
打包完成之后生成jar包,在项目的target文件夹下

win10下定时运行和开机自启动jar包

定位到该jar包所在目录下,复制或者剪切该jar包
在F盘新建一个文件夹,命名为"startBat",将jar包放在该文件夹中

win10下定时运行和开机自启动jar包

编写Bat脚本

在jar包的同目录下新建start.bat,然后编辑,输入以下内容:

@echo off
set port=8085
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
    echo kill the process %%m who use the port 
    taskkill /pid %%m -t -f
    goto start
)
:start
 
START "thymedemo" javaw -jar thymedemo-0.0.1-SNAPSHOT.jar

我这里程序运行的端口是8085,所以set port=8085
循环地去读取端口,如果找到端口8085,查询对应的PID是否存在,如果存在,则杀死(taskkill /pid)
杀死当前进程后,再重新启动(start) jar包 即可。

这样就完成了重启jar包及相关服务的工作了

创建定时任务

1.找到“我的电脑”,右键——“管理”,找到“系统工具”——“任务计划程序”。
开始“创建基础任务”,如图。
win10下定时运行和开机自启动jar包
根据向导填相关信息即可。需要注意的点在于触发器设置。其他根据需要进行设置。

例如设置程序在每天每隔一小时启动一次Bat脚本
选择“每天”,每日,设定开始时间和时间间隔。
win10下定时运行和开机自启动jar包
win10下定时运行和开机自启动jar包
下一步,设置操作,选择“启动程序”

win10下定时运行和开机自启动jar包
下一步,设定启动程序,“浏览”,添加刚才的Bat脚本即可

win10下定时运行和开机自启动jar包
完成!
接着在“程序任务库”中就可以找到我们刚新建的定时任务了,如图。

win10下定时运行和开机自启动jar包
双击,对该任务进行编辑,定位到“触发器”,点击编辑,如图。

win10下定时运行和开机自启动jar包
因为要实现每隔一小时重复运行该脚本的目的,所以我们勾选“重复任务间隔”,并设置间隔时间为1小时。

win10下定时运行和开机自启动jar包

由于每次运行完最好是关闭再运行java程序,所以我们还需勾选“重复持续时间结束时停止所有运行的任务”

点击“确定”,完成设置。

检验定时任务的运行

设置完之后,程序没有立刻运行,而是在下一个设定好的时间节点开始运行,这里可以等待定时器执行定时任务。

当然最好的话,可以在原来的java程序中编写生成日志文件的代码,每当程序运行,就生成一个日志文件,用以记录程序运行的情况。

——————————分割线——————————————————————

jar包开机重启

在同目录下新建文件start.vbs,写入以下代码

createobject("wscript.shell").run"F:\startBat\start.bat",0

即用shell脚本运行F盘startBat文件夹下的start.bat脚本(就是上述步骤新建好的脚本文件)
命令的最后一个“0”代表隐藏窗口运行

创建开机启动的快捷方式

右键创建start.vbs的快捷方式,并将该快捷方式复制到目录
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

重启系统,就会发现jar包自动重启并运行。

写在最后

最终目录结构如图所示

win10下定时运行和开机自启动jar包

参考博客

jar包开机自动重启: link.
定时器配置执行jar包: link.
win10 Bat脚本重启jar包: link.

本文地址:https://blog.csdn.net/qq_41873311/article/details/110134810