我试图用crontab运行一个简单的java helloworld程序。 我做了以下java代码: helloworld.java:
class HelloWorld {
public static void main (String args[]) {
System.out.println("Hello world");
}
}
然后我尝试按照以下顺序从crontab运行它:
crontab -e
0,7,10,15,30,46,50,55,59 * * * * root /usr/bin/java /home/shivajividhale/cloudOccular/HelloWorld >/dev/null 2>&1
但是,我无法在syslog中看到helloworld putput。一切都正确吗?如何检查类文件是否正在执行。我尝试将输出打印到文本文件中,并且还有时间。但是文件上没有做任何事情。
正常运行文件java HelloWorld
会产生正确的输出。我还确保crontab以新行结束。
我只想开始使用crontab运行的类文件。其他帖子讨论了运行bash脚本的crontab,我只想运行这个简单的程序。我只想打印出Hello World以及确保以定义的时间间隔执行程序的时间。有什么帮助吗?
答案 0 :(得分:3)
尝试使用“java”执行类时,不应提供完整路径。 “java”命令希望只接收类名作为参数。
这就是为什么它正常工作:
java HelloWorld
但这不是:
/ usr / bin / java / home / shivajividhale / cloudOccular / HelloWorld
要使后者工作,您需要提供类名,另外还需要提供“类路径”,以便Java知道在哪里找到该类。您可以使用“-cp”选项提供类路径。
试试这个:
/ usr / bin / java -cp / home / shivajividhale / cloudOccular / HelloWorld