【问题标题】:Make a jar file run every hour automatically每小时自动运行一个 jar 文件
【发布时间】:2015-08-11 16:24:07
【问题描述】:

我是发展中国家的新手,所以如果我的问题听起来很奇怪,我提前道歉。 我已经用 Selenium 和 JAVA 编写了一个测试并从中制作了一个 jar 文件,现在我想知道这个 jar 文件是否可以每 1 小时自动运行一次,我的意思是应该没有人点击 jar 文件或任何正在运行的程序来运行它。

【问题讨论】:

  • 在 unix 系统上,您可以创建一个 cronjob。 Windows 可能有类似的功能。
  • @user 你能解释一下吗?那么窗户呢?
  • @LoveJava 你必须使用作业调度器。Unix 提供 cronjob,Windows 有任务调度器,顺便说一句,LoveJava 好名字
  • @KumarAbhinav 我可以将它们放入 jar 文件中吗?
  • @LoveJava 你不能这样做,它是一个底层的操作系统机制。你应该做的是让主 Java 程序连续运行,并且每 60*60*1000 毫秒产生一个子进程

标签: java selenium selenium-webdriver jar executable-jar


【解决方案1】:
  • 打开任务计划程序并创建任务(在右侧)。
  • 在“常规”选项卡上添加名称。
  • 在触发器选项卡上,单击新建...
  • 在弹出窗口中,选择每天
    • 然后在高级中您可以选择重复任务间隔: 1 小时
  • 在“操作”选项卡上,单击“新建...”
    • 浏览并选择您的程序
  • 单击“确定”创建任务。

【讨论】:

  • 打开什么任务计划程序?
  • 这是一个 Windows 程序。您可以在开始菜单中搜索它
  • 因为它是一个 java 程序,你可能不能只把你的 jar 的名字放在那里——而是放 java -jar yourJar.jar
  • @Bill K 任何可以在 Linux 和窗口上完成的东西
  • 您必须在 Windows 上安装 Linux 软件才能在两者上运行相同的东西。您可能可以使用 Cygwin 并轻松安装 Chron。调度机制是操作系统的一部分。如果您开始了一项刚刚触发的长期 Java 工作,它会起作用,但需要您始终保持终端打开,这不是太专业。您也可以使用像“Tomcat”这样的容器,然后有很多方法可以做到这一点,并且您可以让 tomcat 作为服务在 Windows 和 Linux 上轻松运行——但是,配置 Tomcat 是另一回事。
【解决方案2】:

您可以使用 OS 构建的作业调度程序或使用可以让您的作业运行的工具。此外,您可以让 Java 主程序无限运行,并且每 60*60*1000 毫秒产生一个子进程。

【讨论】:

    【解决方案3】:

    您也可以运行 Jenkins,并创建一个作业以每小时执行一次 jar。这样做的好处是您可以获得基于 Web 的 UI 和查看测试输出的简单方法。

    【讨论】:

    • 虽然是一个奇怪的概念,但它还有一个额外的好处,那就是它可以在 windows 和 linux 上运行
    【解决方案4】:

    如果您在基于 unix 的系统上,您可以将 jar 作为 cronjob 运行。以下将每 30 秒运行一个 jar。

    0 */1 * * * java -jar /path/to/jar/myjar.jar 阅读以下内容以了解如何正确设置 cronjob https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job

    对于 Windows,使用任务调度程序。更多详情请转至https://stackoverflow.com/a/26932169/802061

    【讨论】:

      猜你喜欢
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 2012-12-15
      • 2014-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多