在C:\Java\pack1文件夹内定义类class CCircle
{
  public void show()
   {
      System.out.println("show() method called");
   }
}在C:\Java\pack1文件夹内定义类
public class app11_1
{
   public static void main(String args[])
    {
       CCircle cir=new CCircle();
        cir.show();
    }
}
然后编译运行:C:\Documents and Settings\pearl>cd c:\JavaC:\Java>javac pack1\CCircle.javaC:\Java>javac pack1\app11_1.javaC:\Java>java pack1\app11_1
Exception in thread "main" java.lang.NoClassDefFoundError: pack1\app11_1 (wrong
name: app11_1)
        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)出错了,请问大家,这是因为我classpath的设置有误吗?
那我应该怎么设置呢?

解决方案 »

  1.   

    你进入java程序文件所在的目录C:\Java\pack1中执行编译运行试试
      

  2.   

    执行java的命令不对,应该是
    C:\Java>java pack1.app11_1
      

  3.   

    java -classpath pack1 app11_1
      

  4.   

    晕,pack1 不是package啊?名起的真好.
      

  5.   

    在文件的目录下: javac 文件名//编译
    java 文件名 //运行