java Jboss LinkageError:加载程序约束冲突:解析重写的方法时
我有两个war文件:A和B,其中包含使用CXF的web服务
A在B中使用web服务
B在A中使用web服务
Tomcat的一切都很好。但当我在Jboss中部署时,我面临着链接错误
Caused by: java.lang.LinkageError: loader constraint violation: when resolving overridden method "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;" the class loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) of the current class, org/apache/cxf/jaxws/ServiceImpl, and its superclass loader (instance of ), have different Class objects for the type javax/xml/bind/JAXBContext used in the signature
我已经删除了jaxb-api-2.2.3。jar和jaxb-impl-2.2.4-1。jar从战争中解放出来并经过测试。我仍然面临着同样的问题
原因是什么?提前谢谢
# 1 楼答案
根据您使用的JBoss版本的不同,它会附带一个jaxb jars版本。检查JBOSS_HOME/modules/system/layers/base文件夹
如果您想让JBoss忽略它拥有的JAR并使用您的应用程序,那么您需要明确地告诉它这样做。这可以使用自定义模块完成:
<folder_name>
/main/中创建一个文件夹,并将JAR放入其中李><resource-root>
李>有关详细信息,请查看此链接: https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7