win10下定时运行与开机自启动jar包的方法记录

 更新时间:2020年11月27日 12:19:01   作者:爱学习的诸葛铁锤  
这篇文章主要给大家介绍了关于win10下定时运行与开机自启动jar包的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

需求说明:

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

环境说明

  1. 运行环境:win 10
  2. 编程环境:IDEA 2019
  3. 项目:MAVEN项目

IDEA中打包maven项目

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

打包完成之后生成jar包,在项目的target文件夹下

定位到该jar包所在目录下,复制或者剪切该jar包

在F盘新建一个文件夹,命名为"startBat",将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.找到“我的电脑”,右键——“管理”,找到“系统工具”——“任务计划程序”。

开始“创建基础任务”,如图。

根据向导填相关信息即可。需要注意的点在于触发器设置。其他根据需要进行设置。

例如设置程序在每天每隔一小时启动一次Bat脚本

选择“每天”,每日,设定开始时间和时间间隔。

下一步,设置操作,选择“启动程序”

下一步,设定启动程序,“浏览”,添加刚才的Bat脚本即可

完成!

接着在“程序任务库”中就可以找到我们刚新建的定时任务了,如图。

双击,对该任务进行编辑,定位到“触发器”,点击编辑,如图。

因为要实现每隔一小时重复运行该脚本的目的,所以我们勾选“重复任务间隔”,并设置间隔时间为1小时。

由于每次运行完最好是关闭再运行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包自动重启并运行。

写在最后

最终目录结构如图所示

参考博客

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

到此这篇关于win10下定时运行与开机自启动jar包的文章就介绍到这了,更多相关win10定时运行与开机自启动jar包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一篇文章搞定数据库连接池

    一篇文章搞定数据库连接池

    数据库连接池在编写应用服务是经常需要用到的模块,太过频繁的连接数据库对服务性能来讲是一个瓶颈,使用缓冲池技术可以来消除这个瓶颈,本文就来介绍Java常见的几种,感兴趣的可以了解一下
    2021-07-07
  • Spring通过配置文件管理Bean对象的方法

    Spring通过配置文件管理Bean对象的方法

    这篇文章主要介绍了Spring通过配置文件管理Bean对象的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • springboot实现异步调用@Async的示例

    springboot实现异步调用@Async的示例

    这篇文章主要介绍了springboot实现异步调用@Async的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Spring中七种事务传播机制详解

    Spring中七种事务传播机制详解

    这篇文章主要介绍了Spring中七种事务传播机制详解,Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,Propagation枚举则引用了这些类型,开发过程中我们一般直接用Propagation枚举,需要的朋友可以参考下
    2024-01-01
  • 图文详解JAVA实现哈夫曼树

    图文详解JAVA实现哈夫曼树

    所谓哈夫曼树就是要求最小加权路径长度,这是什么意思呢?简而言之,就是要所有的节点对应的路径长度(高度-1)乘以该节点的权值,然后保证这些结果之和最小。下面这篇文章就给大家详细介绍
    2016-08-08
  • Java swing创建一个窗口的简单步骤

    Java swing创建一个窗口的简单步骤

    这篇文章主要给大家介绍了关于Java swing创建一个窗口的简单步骤,Java Swing是Java平台下的GUI(Graphical User Interface,图形用户界面)工具包,提供了丰富的GUI组件,可以实现复杂的图形界面应用程序,需要的朋友可以参考下
    2024-06-06
  • 浅谈为什么同一个java文件只能有一个public类

    浅谈为什么同一个java文件只能有一个public类

    这篇文章主要介绍了浅谈为什么同一个java文件只能有一个public类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Java数组反转方式

    Java数组反转方式

    这篇文章主要介绍了Java数组反转方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • java 对ArrayList进行分页实例代码

    java 对ArrayList进行分页实例代码

    这篇文章主要介绍了java 对ArrayList进行分页实例代码的相关资料,需要的朋友可以参考下
    2017-02-02
  • 利用Java读取二进制文件实例详解

    利用Java读取二进制文件实例详解

    这篇文章主要给大家介绍了利用Java读取二进制文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用java具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08

最新评论