代码:
Cookie.java
package net.chap5;public class Cookie {
public Cookie() {
System.out.println("Cookie");
} protected void bite() {
System.out.println("bite");
}
}Dinner.javapackage net.chap5;public class Dinner {
public static void main(String[] args) {
Cookie cookie = new Cookie();
cookie.bite();
}
}我的目录结构是:e:\javaFiles\net\chap5 上面的两个文件就在这个文件夹里.
我用cmd来运行
编译后运行
E:\JavaFiles\net\chap5>java Dinner但是要报错:
Exception in thread "main" java.lang.NoClassDefFoundError: Dinner (wrong name: net/chap5/Dinner)
        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$100(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)这个为什么呀?为什么提示找不到Dinner类?
我的CLASSPATH=.;E:\JavaFiles;是什么原因呢?

解决方案 »

  1.   

    E:\JavaFiles\net\chap5>java Dinner
    ----------------------------------------------
    安展这样的路径编译运行才可以
    E:\JavaFiles\>javac net\chap5\Dinner.javaE:\JavaFiles\>java net.chap5.Dinner
      

  2.   

    请问一个更基础的问题
    怎么进入
    E:\JavaFiles\>javac net\chap5\Dinner.javaE:\JavaFiles\>java net.chap5.Dinner
    啊?
      

  3.   

    E:\JavaFiles\net\chap5>java Dinner这样编译也可以
    但要这样运行.
    E:\JavaFiles\>java net.chap5.Dinner