首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从任务调度程序运行时,打开Java应用程序的网页不起作用

从任务调度程序运行时,打开Java应用程序的网页不起作用
EN

Stack Overflow用户
提问于 2016-08-24 12:37:59
回答 1查看 224关注 0票数 0

不久前,我编写了一个Java程序,在我早上上班之前自动打开一个网页。为此,我从Java调用一个批处理文件,该文件打开了网页。这个计划持续了三四个月,没有任何问题,但是有一天它就停止了工作。我也尝试过从Java内部打开网页,而不是批处理文件,但我始终遇到了问题。这是我使用的过程:

  • 我将程序导出为一个可运行的JAR,并使用Launch4j将其转换为EXE。在我的Windows任务调度程序中,我把它安排在每天早上5:30运行。
  • 我的Java程序调用存储在桌面上的批处理文件
  • 批处理文件打开Chrome并调用网页打开

当我手动运行Java程序EXE时(从桌面上双击),它正确运行,调用批处理文件,并打开网页。但是,当我尝试从Windows任务调度程序运行EXE时,它不会(明显地)打开网页。它确实在后台运行Chrome (根据任务管理器/Process),但是网页本身似乎没有打开(我可以看出,因为我打开的网页应该在播放音乐,但我什么也没听到)。

这是我用来运行批处理文件的Java函数:

代码语言:javascript
复制
public static void openWebpage() throws Exception {
    String[] startupBat = {"cmd", "/c", "start", "/B", System.getProperty("user.home") + "\\Desktop\\WebpageStart.bat"};
    ProcessBuilder pb = new ProcessBuilder(startupBat);
    try {
        webpage = pb.start();
    } catch (IOException e) {
        logWriter.write(tf.format(new Date()).toString() + " - Unable to start webpage");
    }
    if (webpage != null) {
        try {
            webpage.waitFor();
        } catch (InterruptedException e) {
            logWriter.write(tf.format(new Date()).toString() + " - Webpage startup interrupted");
        } finally {
            webpage.destroy();
        }
    }
}

下面是我用来启动网页的批处理文件的内容:

代码语言:javascript
复制
@echo off

start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" http://www.myWebpage.com

再次,当我手动运行Java时,一切都很好,但是当我尝试从任务调度器运行它时,网页似乎没有打开。是什么导致了这种行为?当任务调度程序运行程序时,与手动运行时相比,会发生什么变化?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-24 13:58:19

有几件事要检查

  1. 调度的任务以哪个用户的身份运行?是否与双击图标的用户相同?
  2. 你最近更改密码了吗?您可能需要更新计划任务的密码。
  3. 转到windows事件查看器,那里有错误吗?
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39123560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档