首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

请问这个java.lang.NoClassDefFoundError异常是什么原因?

2014-01-26 
java.lang.NoClassDefFoundError: Orange/MyCalendar at Orange.OPrms. init(+20) at Orange.Orange.star

java.lang.NoClassDefFoundError: Orange/MyCalendar
at Orange.OPrms. <init>(+20)
at Orange.Orange.startApp(+16)

工程:Orange  ;
OPrms类里创建MyCalendar实例
确定MyCalendar.Java在Orange目录里
环境变量:
CLASSPATH:.;;%JAVA_HOME%\bin;D:\Java\jdk1.6.0_12\jre\lib\rt.jar;D:\Java\jdk1.6.0_12\lib\tools.jar
JAVA_HOME:D:\Java\jdk1.6.0_12

问题出在哪里?

------解决方法--------------------------------------------------------
CLASSPATH:.;;%JAVA_HOME%\bin;D:\Java\jdk1.6.0_12\jre\lib\rt.jar;D:\Java\jdk1.6.0_12\lib\tools.jar

多1个分号。

------解决方法--------------------------------------------------------
你是用命令行编译是吗?你的这个CLASSPATH不对。
Orange/MyCalendar 这个应该是你自己写的文件,但是不在CLASSPATH中。
可能做完这个例子,你就明白是怎么回事了。
明白了以后,赶快放弃命令行吧。
------解决方法--------------------------------------------------------
我感觉是你的wtk环境配置有问题,
------解决方法--------------------------------------------------------
估计是有编译错误。
------解决方法--------------------------------------------------------
重新构建下项目 看能不能找到

------解决方法--------------------------------------------------------

总结该异常可能有俩种:
1.java.lang.NoClassDefFoundError指向的"Orange/MyCalendar "这个字符串所指对象的类不存在
如不是自定义类的话,到 http://www.findjar.com 查找包含该信息的jar包并引入.
2.类的加载先后顺序有问题
如启动web   application的时候,类的加载是有一个先后顺序的,如果应该先加载的类在后面加载,别的类在调用时找不到它,那么也会报这个错.

其他 java.lang.NoClassDefFoundError 异常都可这样处理.

        

热点排行