我正在尝试使用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运行的类文件。 Oher的帖子讨论了有关运行bash脚本的crontab的信息,我只想运行这个简单的程序。我只想打印出Hello World和时间,以确保按定义的时间间隔执行程序。有什么帮助吗?
最佳答案
尝试使用“ java”执行类时,不应提供完整路径。 “ java”命令希望仅接收类名作为参数。
这就是为什么它可以正常工作的原因:
java HelloWorld
但这不是:
/ usr / bin / java / home / shivajividhale / cloudOccular / HelloWorld
为了使后者有效,您只需提供类名,并另外提供一个“ classpath”,以便Java知道在哪里可以找到该类。您可以使用“ -cp”选项来提供类路径。
尝试这个:
/ usr / bin / java -cp / home / shivajividhale / cloudOccular / HelloWorld
关于java - 使用crontab运行简单的Java类文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30631213/