Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
POI失败java.lang.LinkageError:接口itable初始化中的加载程序约束冲突_Java_Xml - Fatal编程技术网

POI失败java.lang.LinkageError:接口itable初始化中的加载程序约束冲突

POI失败java.lang.LinkageError:接口itable初始化中的加载程序约束冲突,java,xml,Java,Xml,POI故障 java.lang.LinkageError: loader constraint violation in interface itable initialization:when resolving method "org.apache.xerces.parsers.AbstractSAXParser.getEntityResolver()Lorg/xml/sax/EntityResolver;" the class loader (instance of com/newatla

POI故障

java.lang.LinkageError: loader constraint violation in interface itable initialization:when resolving method "org.apache.xerces.parsers.AbstractSAXParser.getEntityResolver()Lorg/xml/sax/EntityResolver;" the class loader (instance of com/newatlanta/servletexec/ApplClassLoader) of the current class, org/apache/xerces/parsers/AbstractSAXParser, and the class loader (instance of <bootloader>) for interface org/xml/sax/XMLReader have different Class objects for the type org/xml/sax/EntityResolver used in the signature
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at org.xml.sax.helpers.NewInstance.newInstance(Unknown Source)
    at org.xml.sax.helpers.XMLReaderFactory.loadClass(Unknown Source)
    at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source)
    at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)
    at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
    at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
    at org.dom4j.io.SAXReader.read(SAXReader.java:435)
    at org.dom4j.io.SAXReader.read(SAXReader.java:343)
    at org.openxml4j.opc.internal.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:396)
    at org.openxml4j.opc.internal.ContentTypeManager.<init>(ContentTypeManager.java:120)
    at org.openxml4j.opc.internal.ZipContentTypeManager.<init>(ZipContentTypeManager.java:63)
    at org.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:147)
    at org.openxml4j.opc.Package.getParts(Package.java:598)
    at org.openxml4j.opc.Package.open(Package.java:227)
java.lang.LinkageError:接口itable初始化中的加载程序约束冲突:解析方法“org.apache.xerces.parsers.AbstractSAXParser.getEntityResolver()Lorg/xml/sax/EntityResolver;”当前类的类加载程序(com/newatlanta/servletexec/ApplClassLoader实例),org/apache/xerces/parsers/AbstractSAXParser,接口org/xml/sax/XMLReader的类加载器(的实例)对于签名中使用的类型org/xml/sax/EntityResolver具有不同的类对象
位于java.lang.Class.getDeclaredConstructors0(本机方法)
位于java.lang.Class.privateGetDeclaredConstructors(未知源)
位于java.lang.Class.getConstructor0(未知源)
位于java.lang.Class.newInstance0(未知源)
位于java.lang.Class.newInstance(未知源)
位于org.xml.sax.helpers.NewInstance.NewInstance(未知源)
位于org.xml.sax.helpers.XMLReaderFactory.loadClass(未知源)
位于org.xml.sax.helpers.XMLReaderFactory.createXMLReader(未知源)
位于org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)
位于org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
位于org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
位于org.dom4j.io.SAXReader.read(SAXReader.java:435)
位于org.dom4j.io.SAXReader.read(SAXReader.java:343)
位于org.openxml4j.opc.internal.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:396)
位于org.openxml4j.opc.internal.ContentTypeManager。(ContentTypeManager.java:120)
位于org.openxml4j.opc.internal.ZipContentTypeManager.(ZipContentTypeManager.java:63)
位于org.openxml4j.opc.ZipPackage.getpartsiml(ZipPackage.java:147)
位于org.openxml4j.opc.Package.getParts(Package.java:598)
位于org.openxml4j.opc.Package.open(Package.java:227)

我在ServletExec上使用XMLBean时遇到了这个问题。我该如何解决它呢?

虽然xerces解析器已经是服务器的一部分,但您似乎正在将其与应用程序一起部署,而服务器似乎对此束手无策。尝试从部署中删除xercesImpl jar,例如,如果是maven,请将其作用域设置为提供的

从应用程序的类路径中删除
xercesImpl jar
,然后重新部署它。如果由于删除特定jar而引发任何其他问题,请尝试这样做。然后不要删除jar。只需提取jar并从
xercesImpl jar
中删除
org.apache.xerces.parsers.AbstractSAXParser
类文件,该类文件将获取冲突并将剩余的类文件转换为jar并加载到类路径。这将对您有所帮助来解决链接错误。

在删除xercesImpl-jar之后,感谢您的评论。我得到了一个新的异常:PanelXLReport 2013-11-26 17:01:15 POI failure java.lang.LinkageError:loader约束冲突:在解析当前类的接口方法“org.xml.sax.XMLReader.setEntityResolver(Lorg/xml/sax/EntityResolver;)V”类加载器(com/newatlanta/servletexec/ApplClassLoader的实例)时,org/dom4j/io/SAXReader,以及已解析类的类装入器(的实例),org/xml/sax/XMLReader,为签名中使用的org/xml/sax/EntityResolver类型使用不同的类对象删除
dom4j-1.3.jar
mate会对您有所帮助。删除xercesImpl jar后,我会得到一个新的异常:PanelXLReport 2013-11-26 17:01:15 POI failure java.lang.LinkageError:加载程序约束冲突:解析接口方法时“org.xml.sax.XMLReader.setEntityResolver(Lorg/xml/sax/EntityResolver;)V”当前类的类加载器(com/newatlanta/servletexec/ApplClassLoader实例),org/dom4j/io/SAXReader,以及类加载器(的实例)对于解析类org/xml/sax/XMLReader,签名中使用的类型org/xml/sax/EntityResolver具有不同的类对象