【问题标题】:.jar File Not Working With Windows Scheduler.jar 文件不适用于 Windows 调度程序
【发布时间】:2013-08-17 14:09:12
【问题描述】:

大家好,所以我用 java 编写了一个程序(使用 eclipse)并将单个类程序导出到 .jar 文件。该程序还启动一个批处理文件。当我双击 .jar 文件时,jar 完美运行并启动批处理文件。

但我想做的是让 .jar 文件每周运行一次,所以我使用 Windows 调度程序创建了一个任务,其操作是 .jar 文件。这没有用。然后我在某处读到 Windows 调度程序不喜欢 .jar,所以我想制作第二个批处理文件(start.bat)来启动 .jar,然后启动第一个批处理文件。

我的 start.bat 中的命令是

java -jar myJar.jar

当我双击 start.bat 文件时,一切正常。但是,当我设置 Windows 调度程序以启动此任务时,我收到以下有关 cmd 窗口的错误消息

错误:无法访问 jarfile myJar.jar

这真的让我很难过,因为所有文件都在同一个目录中。 任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 使用 myJar.jar 的完整路径而不是相对路径 - windows 调度程序的运行目录是 C:\Windows\System32 并且您的 jar 文件可能不在此目录中。跨度>
  • 尝试在批处理文件中提供myJar.jar 的完整路径。
  • 谢谢一百万,就是这样。愚蠢的错误,非常感谢!!

标签: java batch-file windows-task-scheduler


【解决方案1】:

显然这条评论就是答案:

使用 myJar.jar 的完整路径而不是相对路径 - windows 调度程序的运行目录是 C:\Windows\System32 并且您的 jar 文件可能不在此目录中。

【讨论】:

    【解决方案2】:

    Task Scheduler 无法直接运行 .jar,您需要通过命令提示符运行它。 因为任务调度程序通过 cmd 运行 .bat,所以它的默认执行位置即 C:/windows/system32 我们需要更改路径。 在调度程序中调度任务时,调用 TaskName.bat 作为操作。 所以,

    在TaskName.bat中创建一个批处理文件“TaskName.bat” 输入以下内容

    @echo 关闭

    cd "jar 文件路径示例 C:\MyFolder"

    java -jar Nameofthejar.jar

    暂停

    【讨论】:

      【解决方案3】:

      如果您按照以下步骤操作,您将不会遇到任何问题。

      步骤 0:设置

      application.properties 中添加app.schedule.externally_managed=true

      第 1 步:创建新任务

      点击创建

      提供详细信息

      Windows 10 的配置很重要

      第 2 步:触发器详细信息

      第 3 步:操作详情

      第 4 步:操作

      确保所有复选框都未选中,如下所示,这很重要

      第 5 步:查看任务详情

      请参阅thisthis 了解更多详情

      【讨论】:

        猜你喜欢
        • 2013-03-24
        • 1970-01-01
        • 1970-01-01
        • 2020-05-09
        • 2010-12-12
        • 1970-01-01
        • 2011-10-27
        • 2021-06-24
        • 2022-08-02
        相关资源
        最近更新 更多