我的异常网 Java Web开发 Java 面试 J2ME J2EE Java相关 Eclipse J2SE .NET分析设计 .NET Framework .NET面试 .NET组件控件 VC J# Delphi .NET报表 C# ASP LINQ .NET新技术 VB Web Service .NET相关 Oracle面试 Oracle认证考试 Oracle管理 Oracle开发 Oracle技术 Java Exception DotNet Exception Oracle Exception
  

请问这个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 异常都可这样处理.

    
    
如异常没有得到解决,请继续查看以下解决方法:
热点异常解决方法
最新异常解决方法
随机异常解决方法