我在WebSphereApplicationServer(8.5.5.14)中遇到了LinkageError。这里也发现了类似的问题LinkageError
原因:java。lang.LinkageError:解析方法“javax/xml/soap/SOAPElement.getElementQName()Ljavax/xml/namespace/QName;”时加载约束冲突:loader“com/ibm/ws/classloader/CompoundClassLoader@19d4f90e类“org/springframework/ws/soap/saaj/SaajSoapElement”和加载程序“com/ibm/oti/vm”/BootstrapClassLoader@ca532309“javax/xml/soap/SOAPElement”类的“类”具有不同的方法签名类型
问题的原因是在应用程序中包含了包含javax/xml/namespace/QName的XML API jar,并且该应用程序被配置为使用父类加载。当这种情况发生时,您会得到以下链接模式:
您可以通过从应用程序中删除包含QName类的XML jar(该API包含在服务器的JDK中)、向应用程序添加SOAP API(以便应用程序“看到”来自同一位置的两个类),或者先将类加载切换到父类来解决这个问题。父类最后一个类加载通常容易出现这样的问题,因为它允许在类加载程序之间进行更多的重复加载,而不是在默认设置下进行。如果您对自己的XML API版本没有明确的需求(XML API在Java SE中已经包含了很长时间),我强烈建议您要么删除jar,要么先切换到父级。
我见过其他的链接错误,但没有一个能说明如何使用罐子。当我在Jboss中部署我的应用程序时,它可以正常工作,但当我将应用程序部署到websphere时,我遇到了这种链接错误。在这里可以找到一个类似的问题:调用webservice方法时出现LinkageError,但不确定如何修复它 它主要是从和加载的,带有共享类 我所拥有的是jsp调用Web服务。从消息中,我看到的唯一jars来自axis.jar,
帮助我如何解决这个问题?我正在使用java进行NetSuite集成,我将所需的jar文件添加到我的项目中。添加jboss 6.1.0中部署的jar后。添加此jar后org.apache.sling.commons.log-2.0.6.jar获得以下异常。这是我的堆栈跟踪。
我发现以下错误: 似乎我的云平台默认包,我收到这个错误,因为我还将slf4j作为依赖项放在我的pom文件中,并且两个不同的类加载器正在加载 我解决这个问题的方法是将pom中的依赖范围更改为提供。 但副作用是我无法在本地的tomcat上运行它,因为它找不到slf4j库。 在这种情况下,可以做些什么来使我的战争在我的云平台和我的本地tomcat上正常运行?
A在B中使用web服务。 B在A中使用web服务。 Tomcat的一切都很好。但当我在Jboss中部署时,却面临着链接错误。
有人知道我该怎么办吗?还是我做错了什么? 提前多谢
类文件DTDScanner,DocumentScanner正在从两个jar文件com.ibm.ws.webservices.thinclient_8.5.0.jar(由应用程序通过WEB-INF/lib提供)和由Liberty profile Liberty提供的com.ibm.ws.xlxp.1.5.3_1.0.16.jar加载。这些类文件具有java.lang.LinkageError:loa