使用dom4j时遇到了NoClassDefError
来源:互联网 发布:为什么445端口关不掉 编辑:程序博客网 时间:2024/05/21 07:59
在使用dom4j技术解析xml文档的时候,遇到了java.lang.NoClassDefError错误,错误提示信息为:java.lang.NoClassDefError: org/jaxen/JaxenException,通过查询项目内的jar包也没有找到所描述的类,所以判断应该是缺少jar包导致。
通过查询了解到是确实是缺少dom4j所依赖的jar包,通过下载和导入该包之后错误消失。下载地址
在解决该问题的过程中,对java.lang.NoClassDefError有了进一步的了解,现记录如下:
NoClassDefError发生的原因是因为java虚拟机在编译时找到了合适的类,但是运行时却不能找到合适的类,此时便会发生此错误。(这里有个问题,我没有下载缺失jar包的情况下,编译是如何通过的呢?)
这个错误与ClassNotFoundException的区别在于:后者发生在编译时,classpath下找不到类名对应的类导致;而前者是在编译通过,但是动态运行时找不到对应的类时发生。如果发生该错误时,对应的类确实存在,说明该类对于类加载器来说,可能是不可见的。
在该错误发生时,首先应该检查自己的jar包是否完整,若缺少则下载相应的jar包;若该类确实存在,我们需要把该类加载到classpath下来,或者检查为什么它是不可见的
可能原因如下:
- 对应的Class在java的classpath中不可用
- 你可能用jar命令运行你的程序,但类并没有在jar文件的manifest文件中的classpath属性中定义
- 可能程序的启动脚本覆盖了原来的classpath环境变量
- 因为NoClassDefFoundError是java.lang.LinkageError的一个子类,所以可能由于程序依赖的原生的类库不可用而导致
- 检查日志文件中是否有java.lang.ExceptionInInitializerError这样的错误,NoClassDefFoundError有可能是由于静态初始化失败导致的
- 如果你工作在J2EE的环境,有多个不同的类加载器,也可能导致NoClassDefFoundError
阅读全文
0 0
- 使用dom4j时遇到了NoClassDefError
- 使用Dom4j时遇到的两个问题
- 使用Dom4j时遇到的两个问题
- 使用dom4j遇到的问题
- 使用dom4j遇到的问题
- 使用dom4j解析xml文件时遇到一个怪问题
- dom4j解析xml时遇到的问题
- ERROR:使用dom4j解析xml文件遇到中文路径问题
- Dom4j 是最好的, Sun JAXM 和 Hibernate 都使用了Dom4j .
- 使用 dom4j 解析 XML(转),xml这个就OK了
- dom4j使用
- dom4j 使用
- DOM4J 使用
- Dom4J使用
- DOM4J使用
- Dom4j使用
- dom4j使用
- Dom4j使用
- 1056. 组合数的和(15)
- 目标检测中的尺度--An Analysis of Scale Invariance in Object Detection – SNIP
- leetcode 191. Number of 1 Bits(1的个数)(C++和Java)(无符号位)
- Influxdb基本概念及mac安装上手
- dbca 启动报错no protocol specified
- 使用dom4j时遇到了NoClassDefError
- crud.html
- 【AD】AD如何导出gerber文件给雕刻机软件
- 1057. 数零壹(20)
- 关于停止使用Apache Struts2开发框架
- hihocoder#1664 : 01间隔方阵(DP)
- 想考清华大学研究生的第二天【每天记录更新】
- spring cloud feign 调用微服务转发不了request请求头和参数问题解决方案
- 1058. 选择题(20)