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