黑马程序员技术交流社区

标题: MyEclipse问题 [打印本页]

作者: 李道福    时间: 2013-3-29 10:25
标题: MyEclipse问题
本帖最后由 李道福 于 2013-3-29 17:46 编辑
  1. interface Person{
  2.         void show();
  3.         void doing();
  4. }

  5. class Student implements Person{
  6.         public void show(){
  7.                 System.out.println("你好,我是学生");
  8.         }
  9.         public void doing(){
  10.                 System.out.println("我正在看书");
  11.         }
  12. }

  13. class Worker implements Person{
  14.         public void show(){
  15.                 System.out.println("你好,我是工人");
  16.         }
  17.         public void doing(){
  18.                 System.out.println("我正在工作");
  19.         }
  20. }
  21. class Teacher implements Person{
  22.         public void show(){
  23.                 System.out.println("你好,我是老师");
  24.         }
  25.         public void doing(){
  26.                 System.out.println("我正在上课");
  27.         }
  28. }
  29. class impFactory{
  30.         public static Person factorys() throws InstantiationException, IllegalAccessException, ClassNotFoundException{
  31.                 Person p=(Person)Class.forName("Student").newInstance();
  32.                 return p;
  33.         }
  34. }
  35. public class Factory {

  36.         /**
  37.          * @param args
  38.          * @throws ClassNotFoundException
  39.          * @throws IllegalAccessException
  40.          * @throws InstantiationException
  41.          */
  42.         public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
  43.                 Person p=impFactory.factorys();
  44.                 p.show();
  45.                 p.doing();
  46.         }
  47. }
  48. 为什么这些代码在DOS命令行中能通过编译正常运行,而在MyEclipse中却不能通过编译,报出ClassNotFoundException异常?
复制代码

作者: fighting    时间: 2013-3-29 10:53
第33行,看看你的包名写对了没有
作者: 曾钦    时间: 2013-3-29 10:55
在命令行中,编译生成的class文件路径和.java文件在一个目录,也就是当前目录。
在MyEclipse下生成的class文件路径在Properties ->java build path-> Source ->default output folder
看下你系统环境变量有没有配置classpath咯。。

作者: 刘胜寒    时间: 2013-3-29 11:00
ClassNotFoundException
常见的原因
1 所需要的支持类库放错了地方,并没有放在类路径(CLASSPATH环境变量)里面。
2 使用了重复的类库,且版本不一致。导致低版本的被优先使用。
3 类名错了,一般是使用Class.forName的时候,手工指定了类名的情况。
4 没有导入纯JAVA驱动包。

解决方案

1 确认你的类库在系统的CLASSPATH下面,如果是Tomcat,则可以放在tomcat/lib/目录下面。
2 删除重复的类库,只保留最新的。
3 尽可能不使用这种编译器无法为你检查的方式。
希望对你有帮助...




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2