请问这个java.lang.NoClassDefFoundError异常是什么原因?
点击右边红色标题查看本文完整版:请问这个java.lang.NoClassDefFoundError异常是什么原因?
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 异常都可这样处理.