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)
我在ServletExec上使用XMLBean时遇到了这个问题.我该如何解决?
解决方法:
从应用程序的类路径中删除xercesImpl-jar并重新部署它.如果由于删除特定的jar而引起任何其他问题,请尝试这样做.然后不要删除jar.只需解压缩jar并从xercesImpl-jar中删除org.apache.xerces.parsers.AbstractSAXParser类文件,该文件就会发生冲突并转换其余的将类文件放入jar并将其加载到类路径中,这将帮助您解决链接错误.