我设置classpath  为/webjoin/test/webApps/WEB-INF/classes  
另外的包为/webjoin1/test/webapps/WEB-INF/classes/MyModel/MppModel  
 
/webjoin/test/webApps/WEB-INF/classes下的一个java文件中
有import  MyModel.MppModel.*  
但是编译时它却找不到/webjoin1/test/webapps/WEB-INF/classes/MyModel/MppModel/Model.class  
 
请问这是为什么?以前还可以找到的,突然就找不到了!难道是jdk的bug?  
 
提示:/webjoin1/test/webApps/WEB-INF/classes/Model.java  
cannot  access  Model  
bad  class  file:  /webjoin1/test/webApps/WEB-INF/classes/Model.java  
file  does  not  contain  class  Model  
Please  remove  or  make  sure  it  appears  in  the  correct  subdirectory  of  the  classpath. 
btw:我用的是jdk1.4.2

解决方案 »

  1.   

    类 Model 是在包 MyModel.MppModel 中么?
    要不是在包中要放在第一层路径里
      

  2.   

    /webjoin1/test/webapps/WEB-INF/classes/MyModel/MppModel/Model.class  这个没错,是存在的。
    /webjoin1/test/webapps/WEB-INF/classes/是我的default package,以前是可以找到的,当然把Model.class放到/webjoin1/test/webapps/WEB-INF/classes/下是可以,不过我碰到的问题是为什么呢?
      

  3.   

    而且Model.class的权限及上层目录的权限都是正常的。
      

  4.   

    不是存在的问题
    你把类 Model 放到路径 MyModel/MppModel 中就告诉编译器Model是包 MyModel.MppModel里的
    就是Model.java文件有声明puckage MyModel.MppModel;
    不在包里的话就不能这么放
      

  5.   

    呵呵,看了看javac的编译选项,用javac -verbose 查看了一下编译时的动作,原来我不小心在classes目录下也放了一个Model.java,这样javac在找Model.class的时候他从classes目录下找到了Model.java然后开始解析却找不到Model.class于是就停止了寻找的过程。删掉这个Model.java后就找到了。
      

  6.   

    最好把源代码分开存放
    用javac -d class_path *.java
      

  7.   

    thank you Paripatetic(逍遥) all the same!