运行exe-jar时出现crontab错误



我正在尝试使用运行一个简单的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窗口中执行"where is 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_test.jar"下。

您的PATH中应该有java,您应该找到java库的目录并将其路径放在LD_LIBRARY_PATH中。希望这会有所帮助。我见过/usr/bin/java-jar,而没有见过/usr/bin/java-jar。您还必须包括jar文件的完整路径。

最新更新