黑马程序员技术交流社区
标题:
MyEclipse问题
[打印本页]
作者:
李道福
时间:
2013-3-29 10:25
标题:
MyEclipse问题
本帖最后由 李道福 于 2013-3-29 17:46 编辑
interface Person{
void show();
void doing();
}
class Student implements Person{
public void show(){
System.out.println("你好,我是学生");
}
public void doing(){
System.out.println("我正在看书");
}
}
class Worker implements Person{
public void show(){
System.out.println("你好,我是工人");
}
public void doing(){
System.out.println("我正在工作");
}
}
class Teacher implements Person{
public void show(){
System.out.println("你好,我是老师");
}
public void doing(){
System.out.println("我正在上课");
}
}
class impFactory{
public static Person factorys() throws InstantiationException, IllegalAccessException, ClassNotFoundException{
Person p=(Person)Class.forName("Student").newInstance();
return p;
}
}
public class Factory {
/**
* @param args
* @throws ClassNotFoundException
* @throws IllegalAccessException
* @throws InstantiationException
*/
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
Person p=impFactory.factorys();
p.show();
p.doing();
}
}
为什么这些代码在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