Exception :java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext

世上bug千千万,这次bug怎么看

异常名称:NoClassDefFoundError
异常分析:找不到class类文件错误,必须先生成类文件?
问题原因:IDEA编译器bug?如果是第一次导入项目,或项目更改位置等原因,导致out文件夹idea找不到
因而编译生成的.class文件也找不到,Xpath&Dom4j解析数据前并不会在运行生成.class文件,故报错
解决方案:先让程序运行出任意结果,生成class对象后,再使用Xpath&Dom4j解析数据
解决结果:成功!
*注意事项:.class文件会在任意程序运行时生成,且一次运行,生成项目模块下所有.class文件
注意!!!生成的只是当前模块所有.class文件,其他模块不受影响(即如果其他模块也报此异常,请在模块下运行任意程序)
异常详情
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
    at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
    at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)
    at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:164)
    at MyCode.Day15.demo07parseXML.XpathAndDom4jParseXML.main(XpathAndDom4jParseXML.java:53)
    Caused by: java.lang.ClassNotFoundException: org.jaxen.NamespaceContext
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 4 more

 

上一篇:JVM类加载机制详解(二)类加载器与双亲委派模型


下一篇:java类加载器ClassLoader的简单了解