我正在尝试使用以下命令运行简单的crontab调度程序:
*/15 * * * * /usr/bin/java java -jar /tnpm/tnpm_pm_test.jar
但是我收到了这个错误:
Exception in thread "main" java.lang.NoClassDefFoundError: java
Caused by: java.lang.ClassNotFoundException: java
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: java. Program will exit.
我尝试在我的unix窗口中执行“whereis java”并正确声明java路径:
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz
任何人都有任何想法?是特权还是用户问题?或者我的crontab命令是wwrong?或者我指向错误的java路径?感谢...
编辑:
另外使用“which java”指向/ usr / bin / java,我的exe jar的完整路径位于“/home/user1/tnpm/tnpm_pm_test.jar”下。
答案 0 :(得分:0)
你的PATH中应该有java,你应该找到java libs的目录并将其路径放在LD_LIBRARY_PATH中。希望这会有所帮助。我见过/ usr / bin / java -jar而不是/ usr / bin / java java -jar。您还必须包含jar文件的完整路径。