Classpath: .;C:\Program Files\Java\jdk1.5.0_07\lib\tools.jar;C:\Program Files\Java\jre1.5.0_07\lib\rt.jar
Target Class existed: E:\My Documents\Workspace\onlyfun\caterpillar\PackageDemo.class
E:\My Documents\Workspace\onlyfun\caterpillar>java PackageDemoException in thread "main" java.lang.NoClassDefFoundError: PackageDemo (wrong na
me: onlyfun/caterpillar/PackageDemo) at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)E:\My Documents\Workspace\onlyfun\caterpillar>
Target Class existed: E:\My Documents\Workspace\onlyfun\caterpillar\PackageDemo.class
E:\My Documents\Workspace\onlyfun\caterpillar>java PackageDemoException in thread "main" java.lang.NoClassDefFoundError: PackageDemo (wrong na
me: onlyfun/caterpillar/PackageDemo) at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)E:\My Documents\Workspace\onlyfun\caterpillar>
package onlyfun.caterpillar;public class PackageDemo {
public static void main(String[] args) {
System.out.println("Hello! World!");
}
}
把目录切换到奥workspace下
E:\My Documents\Workspace> java nlyfun.caterpillar.PackageDemo
这样就OK了
1.就是前面那个点
2.C:\Program Files\Java\jdk1.5.0_07\lib\tools.jar
3.C:\Program Files\Java\jre1.5.0_07\lib\rt.jar
他会依次在这三个里面找 PackageDemo
首先在当前目录E:\My Documents\Workspace\onlyfun\caterpillar找,但你定义了这么一句
package onlyfun.caterpillar他就在E:\My Documents\Workspace\onlyfun\caterpillar这个目录下找onlyfun文件夹,再在onlyfun文件夹下找caterpillar文件夹,然后在此文件夹下再找PackageDemo,然后他根本找不到那些文件夹,就更找不到个类了.
当然在后面两个变量里更找不到这个类,所以提示说:NoClassDefFoundError,没定义这个类.解决方法:
1.把package onlyfun.caterpillar;这个去掉,在这个目录E:\My Documents\Workspace\onlyfun\caterpillar重新编译运行;
2.在E:\My Documents\Workspace目录下运行文件 java onlyfun/caterpillar/PackageDemo
或java onlyfun.caterpillar.PackageDemo