我知道有很多关于 NoClassDefFoundError 的帖子,他们似乎都在谈论 jar 文件。虽然我对 eclipse 中的 java 感到很舒服,但我很困惑为什么我能想出的最简单的事情不起作用,除非他们在大学方面破坏了一些东西。
public class hello {
public static void main (String args[]) {
System.out.println ("Hello World!");
}
}
这是抛出这个的整个 hello.java 程序:
Exception in thread "main" java.lang.NoClassDefFoundError: hello/java
Caused by: java.lang.ClassNotFoundException: hello.java
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: hello.java. Program will exit.
$CLASSPATH=./:/usr/java/latest/lib:/home/41/myusername/bin
java -verbose hello.class
给出:
[打开/usr/java/jdk1.6.0_10/jre/lib/rt.jar] [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 java.lang.Object] [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 java.io.Serializable] [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 java.lang.Comparable] [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 java.lang.CharSequence] [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 java.lang.String] [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 java.lang.reflect.GenericDeclaration] [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 java.lang.reflect.Type] [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 java.lang.reflect.AnnotatedElement] [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 java.lang.Class] ... [从 /usr/java/jdk1.6.0_10/jre/lib/rt.jar 加载 sun.misc.AtomicLong] ...
再次例外。
java版本
给出:
java版本“1.6.0_10-rc2” Java(TM) SE 运行时环境 (build 1.6.0_10-rc2-b32) Java HotSpot(TM) 服务器虚拟机(内部版本 11.0-b15,混合模式)