我正在尝试使用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/

10-11 00:50
查看更多