程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了java.lang.NoClassDefFoundError:org / dom4j / Document大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决java.lang.NoClassDefFoundError:org / dom4j / Document?

开发过程中遇到java.lang.NoClassDefFoundError:org / dom4j / Document的问题如何解决?下面主要结合日常开发的经验,给出你关于java.lang.NoClassDefFoundError:org / dom4j / Document的解决方法建议,希望对你解决java.lang.NoClassDefFoundError:org / dom4j / Document有所启发或帮助;

看起来dom4j-full.jar包含dom4jjaxen。从您的stacktrace可以理解dom4j,它位于类路径中,并且可以找到jaxen,但是在jaxen查找时dom4j找不到。我认为从dom4j某个原因加载的jaxen 并不是出于某种原因,dom4j-full.jar而是由于您在应用程序服务器类路径中(当然不在eclipse中)存在的另一个原因,也许是从其他类加载器加载的。也许您jaxen.jar在共享库中有一个或类似的东西。

解决方法

我有一个名为XMLtoXMl.java的类,这是它的方法之一&Hellip;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.outputFormat;
import org.dom4j.io.XMLWriter;

public Object[] process(Object data) {

    String templateXML = null;
    Object result[] = null;
    String inputxml = null;
    String templatenumber = null;
    Iterator iterator = null;
    String scenarioConfigUrl = null;
    Node inputNode;
    Node outputNode;
    String subTemplateXML = null;
    String outputXml = null;

    if (delay != null) {

        long time = Long.parseLong(delay);
        try {
            Thread.sleep(timE);
        } catch (InterruptedException E) {
            e.printStackTrace();
        }
    }
    inputxml = (String) metadata.get(Constants.requEST);
    if (inputxml == null) {
        throw new NullRecordException("input data to XMLtoXML class  in   
      metadata map is null");
    }
    Document inputXMLDocument = Dom4jUtils.getDocument(inputxml);

代码块的最后一行使用dom4j Document.i在我的类路径中有dom4j-full.jar。@H_262_38@ 如果我以独立形式运行此类(在eclipse中以Java应用程序运行),那么它将正常工作。当我将该类作为Web应用程序的一部分和dom4j-full.jar添加到我的类路径中时。@H_262_38@ 我得到以下例外。

java.lang.NoClassDefFoundError: org/dom4j/Document
   at org.jaxen.dom4j.DocumentNavigator.getDocumentNode(DocumentNavigator.java:346)
   at org.jaxen.exPR.DefaultAbsoluteLOCATIOnPath.evaluate
    (DefaultAbsoluteLOCATIOnPath.java:102)

   at org.jaxen.exPR.DefaultXPathExPR.asList(DefaultXPathExPR.java:102)
   at org.jaxen.baseXPath.SELEctNodesForContext(BaseXPath.java:674)
   at org.jaxen.baseXPath.SELEctNodes(BaseXPath.java:213)
   at org.jaxen.baseXPath.SELEctSingleNode(BaseXPath.java:234)
   at org.dom4j.xpath.DefaultXPath.SELEctSingleNode(DefaultXPath.java:156)
   at org.dom4j.tree.AbstractNode.SELEctSingleNode(AbstractNode.java:188)
   at org.amdocs.convert.XMLtoXMl.process(XMLtoXMl.java:134)
   at org.openadaptor.core.node.Node.processSingleRecord(Node.java:148)
   at org.openadaptor.core.node.Node.process(Node.java:170)
   at org.openadaptor.core.node.ProcessorNode.process(ProcessorNode.java:96)
   at org.openadaptor.core.router.AbstractRouter.process(AbstractRouter.java:239)
   at org.openadaptor.core.router.AbstractRouter.process(AbstractRouter.java:223)
   at org.openadaptor.core.router.AbstractRouter.processResponse(AbstractRouter.java:249)
   at org.openadaptor.core.router.AbstractRouter.process(AbstractRouter.java:239)
   at org.openadaptor.core.router.AbstractRouter.process(AbstractRouter.java:223)
   at org.openadaptor.core.router.AbstractRouter.process(AbstractRouter.java:180)
   at org.openadaptor.core.adaptor.Adaptor.process(Adaptor.java:285)
   at org.openadaptor.core.node.Node.callChainedmessageProcessor(Node.java:213)
   at org.openadaptor.core.node.Node.process(Node.java:199)
   at org.openadaptor.core.node.ReadNode.process(ReadNode.java:241)
   at org.openadaptor.core.node.ReadNode.run(ReadNode.java:196)
   at java.lang.Thread.run(Thread.java:619)

我也确信dom4j jar存在于classpath中。有人对问题有任何想法吗?

大佬总结

以上是大佬教程为你收集整理的java.lang.NoClassDefFoundError:org / dom4j / Document全部内容,希望文章能够帮你解决java.lang.NoClassDefFoundError:org / dom4j / Document所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。