Java Jboss LinkageError:加载程序约束冲突:解析重写的方法时

Java Jboss LinkageError:加载程序约束冲突:解析重写的方法时,java,xml,web-services,jboss,jaxb,Java,Xml,Web Services,Jboss,Jaxb,我有两个war文件:A和B,其中包含使用CXF的web服务 A在B中使用web服务 B在A中使用web服务 Tomcat的一切都很好。但当我在Jboss中部署时,我面临着链接错误 原因:java.lang.LinkageError:加载程序约束冲突:在解析重写的方法“org.apache.cxf.jaxws.ServiceImpl.createDispatch(Ljavax/xml/ws/EndpointReference;Ljavax/xml/bind/JAXBContext;Ljavax/x

我有两个war文件:A和B,其中包含使用CXF的web服务

A在B中使用web服务

B在A中使用web服务

Tomcat的一切都很好。但当我在Jboss中部署时,我面临着链接错误

原因:java.lang.LinkageError:加载程序约束冲突:在解析重写的方法“org.apache.cxf.jaxws.ServiceImpl.createDispatch(Ljavax/xml/ws/EndpointReference;Ljavax/xml/bind/JAXBContext;Ljavax/xml/ws/Service$Mode;[Ljavax/xml/ws/WebServiceFeature;)Ljavax/xml/ws/Dispatch;”类加载程序当前类的(org/jboss/classloader/spi/base/BaseClassLoader的实例)org/apache/cxf/jaxws/serviceinpl及其超类加载器(的实例)对于签名中使用的javax/xml/bind/JAXBContext类型具有不同的类对象

我已经从war中删除了jaxb-api-2.2.3.jar和jaxb-impl-2.2.4-1.jar并进行了测试,但我仍然面临同样的问题


原因是什么?请提前感谢。

根据您正在使用的JBoss版本,可能会随附jaxb jars版本。请查看您的JBoss_主页/modules/system/layers/base文件夹

如果您想让JBoss忽略它拥有的JAR,而使用您的应用程序的JAR,您需要明确地告诉它这样做。这可以通过使用自定义模块来完成:

  • 在JBOSS_HOME/modules/system/layers/base/
    /code>/main/中创建一个文件夹,并将您的JAR放入其中
  • 在此文件夹中创建module.xml文件,并将所有jar名称列为
  • 在web项目的web-INF目录中创建jboss-deployment-structure.xml文件,并在此处列出此自定义模块
  • 有关详细信息,请查看此链接:

    谢谢你的帖子。我会回来的。这对你有帮助吗?Sampada-我有一个类似的问题,我将jar捆绑在EJB jar中,部署在EAR中,并使用jboss部署结构的方式来完成,部署后一切都很好,但在重新启动服务器时,我会遇到“加载程序约束冲突”-知道为什么会出现这种情况以及如何解决吗?它在部署时工作,但在服务器启动时似乎被忽略,这似乎很奇怪。