看到论坛上那么多人问关于JDK配置的问题,非凡是配置之后,编译java文件的时候,总是碰到这样一个问题,错误提示为: ================================================================================================= Microsoft windows 2000 [Version 5.00.2195] (C) 版权所有 1985-1998 Microsoft Corp. C:>javac HelloWorld.java
C:>java HelloWorld Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
C:> 以上为出错信息 源程序如下: class HelloWorld { public static void main(String[] args) { // Display "Hello World!" System.out.PRintln("Hello World!"); } }
编译通过 运行怎么就Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld???????/ ===================================================================================================
在d:新建子目录java,编写一个java文件,名字叫Hello.java,进入dos模式,进入到目录d:java,然后敲入javac Hello.java,编译通过。然后可以使用java Hello运行生成的class文件,没有问题,结果正常输出。若是我们在Hello.java文件中的第一句加入:package hello; ,然后编译,没有出现错误,运行时我们会看到如下错误信息: Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong hello/Hello) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:486) at java.security.SecureClassLoader.defineClass(SecureClassLoader. 1) at java.net.URLClassLoader.defineClass(URLClassLoader.java:248) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:297) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286) at java.lang.ClassLoader.loadClass(ClassLoader.java:253) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
Exception in thread "main" java.lang.NoClassDefFoundError: Hello(wrong hello/Hello) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:486) at java.security.SecureClassLoader.defineClass(SecureClassLoader. 1) at java.net.URLClassLoader.defineClass(URLClassLoader.java:248) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:297) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286) at java.lang.ClassLoader.loadClass(ClassLoader.java:253) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)