1

当我在 jboss 6 中部署一个 web 服务项目时,我得到了下面的 stackrace

原因:java.lang.LinkageError:接口itable初始化中的加载程序约束冲突:解析方法“org.apache.axis.message.MessageElement.getChildElements(Ljavax/xml/namespace/QName;)Ljava/util/Iterator;”时 当前类 org/apache/axis/message/MessageElement 的类加载器(org/jboss/classloader/spi/base/BaseClassLoader 的实例)和接口 javax/xml/soap/SOAPElement 的类加载器(的实例)在 java.lang.Class.getDeclaredMethods0(Native Method) [:1.6.0_13] at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) 的签名中使用的 javax/xml/namespace/QName 类型具有不同的 Class 对象) [:1.6.0_13] 在 java.lang.Class.getDeclaredMethods(Class.java:1791) [:1.6.0_13] 在 org.jboss.deployment.AnnotatedClassFilter.hasAnnotations(AnnotatedClassFilter.java:

请帮我 ..... :)

4

2 回答 2

0

如果使用 eclipse 创建 EAR/WAR 文件,我们会遇到此问题

很明显,EAR/war 文件中有两个 jar 文件。

使用 WinRAR 打开 EAR/WAR 文件并检查是否存在两个axis.jar 文件。如果是,则删除 jar 文件并重新部署

于 2015-02-25T08:57:00.730 回答
0

抛出异常是因为在您的 Web 应用程序中至少存在一个包含该类的 jar,javax.xml.namespace.QName并且该类与 JBoss 的 jar 之一中包含的相同类冲突。

在 JBoss 上部署时,您应该从您的 Web 应用程序中删除该(这些)jar。

包含javax.xml.namespace.QName该类的 jar 列表位于http://www.findjar.com/class/javax/xml/namespace/QName.html

于 2014-08-07T13:58:25.697 回答