这是think in java中的一个例子,类LibTest.java经调试可通过编译,不可执行,不知为何,恳请大家指点,具体情况如下:
单独的Vector.java 文件放在D:\java\com\bruceeckel\util文件夹下
package com.bruceeckel.util; 
public class Vector { 
  public Vector() { 
    System.out.println( 
      "com.bruceeckel.util.Vector"); 
  } 

********************************************
单独的List.java 文件也放在D:\java\com\bruceeckel\util文件夹下
package com.bruceeckel.util; 
public class List { 
  public List() { 
    System.out.println( 
      "com.bruceeckel.util.List"); 
  } 
}
********************************************
单独的LibTest.java文件放在D:\java\c05文件夹下
package c05; 
import com.bruceeckel.util.*; 
public class LibTest { 
  public static void main(String[] args) { 
    Vector v = new Vector(); 
    List l = new List(); 
  } 

********************************************
另外  classpath中已设置值为
classpath=.;D:\Java;D:\Program Files\Java\jdk1.6.0_26\lib\dt.jar;D:\Java;D:\Program Files\Java\jdk1.6.0_26\lib\tools.jar;
而且jdk安装在D:\Program Files\Java\jdk1.6.0_26  
 

解决方案 »

  1.   

    而且我发现如果把LibTest.java 的"package c05;"删除  则可以正常运行,否则就会出现以上的问题
      

  2.   

    运行时出现的异常为:Exception in thread "mian" java.lang.NoClassDefFoundError:Libtest (wrong name:c05/LibTest)
      

  3.   

    你编译过后的 LibTest.class 找不到另外两个.class  所以就执行不了    
      

  4.   


    应该找得到的吧。主要问题在于那个package c05; 上不知道为什么要这样写。
      

  5.   

    整个问题都是因为有package,我建议你把所有的三个文件的package信息全部干掉
    然后放到一个目录,然后编译运行,这样最为简单还有就是你把这个文件放到eclipse类似的编辑器当中运行,也行在命令行下耗时间没意思
      

  6.   

    谢谢你的指点 ,我使用了netbeans ,确实很有效.