当前位置: 首页 > 知识库问答 >
问题:

在TomCat上运行的POI导致加载程序约束冲突

岳嘉石
2023-03-14

我试图使用Apache POI生成XSLX,但在尝试运行TomCat应用程序时出现以下错误:

HTTP Status 500 - javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method

 "org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.PropertiesDocument.copy()Lorg/apache/xmlbeans/XmlObject;" 

the class loader (instance of org/apache/catalina/loader/WebappClassLoader) 
of the current class, 
org/apache/poi/POIXMLProperties, 

and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) 
for resolved class, org/openxmlformats/schemas/officeDocument/x2006/extendedProperties/PropertiesDocument, 

have different Class objects for the type ts.schemas.officeDocument.x2006.extendedProperties.PropertiesDocument.copy()Lorg/apache/xmlbeans/XmlObject; 

used in the signature

我使用的是POI 3.15。POI JAR存储在公共Tomcat7/lib文件夹中。(poi-3.15.jar、poi-ooxml-3.15.jar、poi-ooxml-schemas-3.15.jar、xmlbeans-2.6.0.jar)

谁能帮我解释一下这里的冲突是什么以及如何解决?

共有1个答案

田嘉慕
2023-03-14

在WEB-INF库中,我放置了几乎所有相关的JAR文件。似乎xmlbeans(可能还有更多)在随后的战争中引发了冲突。

但是在清理WEB-INF/lib中的poi-3.15.jar和poi-ooxml-3.15.jar时,我遇到了这样一种情况:Eclise IDE和TomCat运行时都可以工作。

 类似资料:
  • 我见过其他的链接错误,但没有一个能说明如何使用罐子。当我在Jboss中部署我的应用程序时,它可以正常工作,但当我将应用程序部署到websphere时,我遇到了这种链接错误。在这里可以找到一个类似的问题:调用webservice方法时出现LinkageError,但不确定如何修复它 它主要是从和加载的,带有共享类 我所拥有的是jsp调用Web服务。从消息中,我看到的唯一jars来自axis.jar,

  • 我在WebSphereApplicationServer(8.5.5.14)中遇到了LinkageError。这里也发现了类似的问题LinkageError 原因:java。lang.LinkageError:解析方法“javax/xml/soap/SOAPElement.getElementQName()Ljavax/xml/namespace/QName;”时加载约束冲突:loader“com

  • 组织。springframework。豆。BeanInstationException:无法实例化bean类[gts.efx.web.login.LogInController]:构造函数引发异常;嵌套的例外是java。lang.LinkageError:加载程序约束冲突:解析方法“javax.net.ssl.SSLContext.getSocketFactory()Ljavax/net/ssl/

  • 问题内容: 我遇到了一个项目有两次相同的.jar(对于我来说,是el-api.jar v2.1)两次的问题,因此,当我尝试使用Tomcat 6运行项目时,出现了以下错误堆栈。 我发现了 http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses- directive/ 但这没有用,因为解决方案影响了我项目的太多部分。 我无

  • 当我在jboss 6中部署web服务项目时。我要参加下面的比赛 原因:java。lang.LinkageError:接口itable初始化中的加载程序约束冲突:解析方法“org.apache.axis.message.MessageElement.getChildElements(Ljavax/xml/namespace/QName;)时Ljava/util/Iterator;“当前类org/ap