我写了一个具有主类方法的Demo类的shell脚本。使用unix通过crontab运行java类时发生ClassnotFoundException?
现在,当我运行我的shell使用./file.sh
。它工作正常。
但现在我已经配置了一个cronjob使用crontab
每5分钟执行一次该文件。
但是,这是给我一个classnotfoundException
Exception in thread "main" java.lang.NoClassDefFoundError: com/example/Demo
Caused by: java.lang.ClassNotFoundException: com.example.Demo
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Met
这是我的shell文件。
#!/bin/sh
echo 'Starts'
lib1='HitURL.jar'
CLASSPATH=$lib1
java -cp HitURL.jar:. com.example.Demo http://www.google.com
echo 'Ends'
我该如何删除此错误?
谢谢。
您的HitURL.jar文件位于何处? – 2013-04-29 15:12:58
与shell脚本位于同一个文件夹中。/home/mine/script – Thinker 2013-04-29 15:13:18
'在java.security.AccessController.doPrivileged(Native Met' < - 这剩下的是什么?我的猜测是脚本运行没有正确的权限。事实上AccessController正在抛出提示 – 2013-04-29 15:14:44