java.lang.NoClassDefFoundError
Runnig jar依賴java類文件
我有一個java程序,它依賴於兩個jar文件。 我使用命令編譯程序:
javac -classpath jar1.jar:jar2.jar myprog.java
它編譯成功。
但是,當我嘗試運行程序使用命令:java -cp jar1.jar:jar2.jar myprog
,它是投擲java.lang.NoClassDefFoundError
。請幫助,我在哪裏錯了?
我使用的是Ubuntu 10.04。
實際的錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: userapps/SelectionTask_classes/SelectionTask
Caused by: java.lang.ClassNotFoundException: userapps.SelectionTask_classes.SelectionTask
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:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: userapps/SelectionTask_classes/SelectionTask. Program will exit.
其中SelectionTask成功編譯後生成我的類文件。
是在同一目錄中編譯的類/可執行的.jar文件?如果不是,則需要指定這些.jar文件的絕對/相對路徑。 – eternaln00b 2012-02-09 13:30:57
是的,我已經指定了兩個罐子的絕對路徑..!我運行 實際的命令是: java命令的Hadoop-0.20.1-core.jar添加:LIB/hadoopdb.jar userapps/SelectionTask_classes/SelectionTask – 2012-02-09 13:38:42
可能是此鏈接可能會給你一些想法... HTTP: //javarevisited.blogspot.in/2011/06/noclassdeffounderror-exception-in.html – 2012-02-09 13:42:14