java.lang.NoClassDefFoundError
来源:互联网 发布:医药行业ims数据分析 编辑:程序博客网 时间:2024/06/11 01:12
NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。例如在运行时我们想调用某个类的方法或者访问这个类的静态成员的时候,发现这个类不可用,此时Java虚拟机就会抛出NoClassDefFoundError错误。与ClassNotFoundException的不同在于,这个错误发生只在运行时需要加载对应的类不成功,而不是编译时发生。很多Java开发者很容易在这里把这两个错误搞混。
简单总结就是,NoClassDefFoundError发生在编译时对应的类可用,而运行时在Java的classpath路径中,对应的类不可用导致的错误。
$后面跟数字的类就是匿名类编译出来的结果.是因为ActiveCountController.java在179行的时候使用了匿名内部类,如下图
$后面跟数字的类就是匿名类编译出来的结果.TestFrame$MyJob.class则是内部类MyJob编译后得到的.
加上$符号的类,说明是$符号前面那个类的一个内部类,java中按照这种机制,编译内部类,也方便用户知道自己的内部类是归属于哪个外部类。不带$符号的Class的文件只与该Java文件里编写的public class (即唯一的一个公有类)一致。
如果该Java文件里还有别的【内部类】、【非公有类】等,就会出现带$号的class文件,并且,其文件的数量和内部类、非公有类的数量一致。
注意:文件一旦被编译 在tomcat容器里运行代码时 是不会再次 编译内部类、匿名类文件 所以部署时要同时部署(内部类文件和匿名类文件)才能正常运行;
阅读全文
0 0
- java.lang.NoClassDefFoundError翻译
- java.lang.NoClassDefFoundError bshEvalError
- java.lang.NoClassDefFoundError:
- java.lang.NoClassDefFoundError记录
- java.lang.NoClassDefFoundError
- java.lang.NoClassDefFoundError
- java.lang.NoClassDefFoundError
- java.lang.NoClassDefFoundError
- maven java.lang.NoClassDefFoundError
- java.lang.NoClassDefFoundError 解决办法
- java.lang.NoClassDefFoundError
- java.lang.NoClassDefFoundError
- java.lang.NoClassDefFoundError相关
- java.lang.NoClassDefFoundError jre6
- 【转】java.lang.NoClassDefFoundError
- java.lang.NoClassDefFoundError orgapachecommonsioFileUtils
- java.lang.NoClassDefFoundError orgapachecommonslangStringUtils
- java.lang.NoClassDefFoundError
- 初步诊断你的GC
- 查询sql中数据不为空并且不为null
- 网站有收录没排名的原因与解决办法
- GBDT基本
- Quartz定时框架产生行锁的解决方法
- java.lang.NoClassDefFoundError
- A survey and Experimental Comparison of Distributed SPARQL Engines for Very Large RDF Data
- mybatis注解详解
- Spring的事务回滚机制
- php使用DOMDocument的时候如何判断xml中某节点是否存在
- 带参数的main函数
- 线上商城规划
- 聚类算法(一)
- php的max,min函数详解