【发布时间】:2012-08-15 13:51:51
【问题描述】:
我正在尝试在 Windows 7 机器上每天运行一次简单的 JAVA 程序。
我的代码在 NetBeans 中运行良好。如果我进行清理并构建它建议:
C:\Program Files\Java\jdk1.7.0/bin/java -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar"
这在 DOS 提示符下当然不起作用,因为程序和文件之间存在空间,所以我这样做:
C:\Program Files\Java\jdk1.7.0/bin/java -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar" -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar"
这适用于 DOS 提示符。
我现在在 Windows 调度程序中创建一个任务来运行:
C:\Program Files\Java\jdk1.7.0/bin/java
带参数:
-jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar"
当我运行它时,我看到的只是一个 DOS 框闪烁一秒钟。我预计代码需要大约 30 秒才能运行。代码应该将数据持久化到数据库中,并且不会发生更新。
代码也使用java.util.logging,所以我应该看到日志条目,但我没有。
我强烈怀疑我没有正确运行 JAVA 命令,或者它在通过调度程序运行时出现了错误的类路径问题,而从 DOS 提示符运行时不存在。
我们将不胜感激。如果你以前见过这个并且可以对其进行排序,那就太好了。如果您能告诉我如何从 Scheduler 获得有意义的错误跟踪,那也将非常有帮助。
谢谢!
【问题讨论】:
-
一种调试方法是将完整的 java -jar 命令放入批处理脚本中并执行该命令,将任何输出重定向到文件(请参阅support.microsoft.com/kb/110930)
-
您将斜杠 (
/) 与反斜杠 (\) 混合使用。你确定没问题? -
您在代码中使用的是
System.getProperty("user.dir")还是System.getProperty("java.class.path")?