将 JAVA 程序作为计划任务运行

2022-09-03 14:20:04

我试图每天在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 Scheduler中创建一个任务来运行:

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提示符运行时不存在。

帮助将不胜感激。如果您以前看过这个并且可以对其进行排序,那就太好了。如果你能告诉我如何从调度程序中获取有意义的错误跟踪,那也将是非常有帮助的。

谢谢!


答案 1

我认为您可以创建一个简单的批处理脚本,它将以这种方式启动您的程序:

@echo off
REM Eventually change directory to the program directory 
cd C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\
REM run the program
"C:\Program Files\Java\jdk1.7.0\bin\java.exe" -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar"

将其复制到记事本中并另存为 java_script.cmd,然后直接计划此脚本而不是程序。


答案 2

在将所有字体的引用更改为“SansSerif”后,我解决了这个问题

我在Java中使用Jasper Reports来创建一个PDF文件。当我双击带有Windows Server 2003的批处理文件或计划程序但无法使用2008的计划程序时,它工作正常。

我尝试了许多不同的东西,但没有任何效果,所以我虽然可能是Windows Server 2008阻止了访问吗?

现在是完美的工作。因此,如果您遇到问题,请检查对您正在使用的任何内容的引用。


推荐