2013-11-26 30 views
2

POI失敗POI失敗java.lang.LinkageError的:裝載機約束衝突接口itable初始化

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) 

我遇到了問題,當我使用的ServletExec的XMLBean。我該如何解決它?

+0

之後我刪除xercesImpl-JAR,我得到了新的異常:PanelXLReport \t 2013年11月26日17時01分15秒\t POI失敗\t \t java.lang.LinkageError的:裝載機約束衝突: 解決接口的方法「時,組織.xml.sax.XMLReader.setEntityResolver(Lorg/xml/sax/EntityResolver;)V「 當前類的類加載器(com/newatlanta/servletexec/ApplClassLoader的實例),org/dom4j/io/SAXReader, 和類裝載器(的實例)爲解決班,組織/ XML /薩克斯/ XMLReader的,有不同的Class對象在簽名中使用 –

+0

更新自己的帖子類型 組織/ XML /薩克斯/ EntityResolver的。 – gks

回答

1

好像你正在部署隨申請了Xerces解析器,儘管它已經是服務器的一部分 - 服務器似乎嗆上。嘗試從您的部署中移除xercesImpl-jar,例如如果maven將其範圍設置爲provided

1

從你的應用程序的類路徑中刪除xercesImpl-jar並重新部署它。嘗試,如果任何其他問題提出了由於去除特定jar.Then不要取出jar.Just提取罐和xercesImpl-jar它得到衝突刪除org.apache.xerces.parsers.AbstractSAXParser類文件和剩餘的類文件轉換成JAR並將其加載到類路徑它會幫助你解決連接錯誤。

+0

感謝您的意見,之後取出xercesImpl的罐子。我得到新的異常:PanelXLReport \t 2013-11-26 17:01:15 \t POI失敗\t \t java.lang.LinkageError:加載器約束違例: 解析接口方法時org.xml.sax.XMLReader.setEntityResolver(Lorg/xml/sax/EntityResolver;)V「 當前類的類加載器(com/newatlanta/servletexec/ApplClassLoader的實例)org/dom4j/io/SAXReader, 和類加載器(實例)類,有機/ XML /薩克斯/ XMLReader的,有不同的Class對象在簽名 –

+1

用於刪除'的dom4j-1.3.jar'交配它會幫助你的類型 組織/ XML /薩克斯/ EntityResolver的。 – gks

相關問題