Я сталкиваюсь с ошибкой Linkage при запуске JAXBElement в Weblogic 12c.Мне понадобилось несколько дней, чтобы это исправить, но я до сих пор не понимаю.
Система использует SOAP для связи с другой системой.Когда система создает конверт с помощью кода ниже.Выдает java.lang.LinkageError.
java.lang.LinkageError
JAXBElement jaxbElement = new JAXBElement(new QName("http://schemas.xmlsoap.org/soap/envelope/", "Envelope"), envelopeObj.getClass(), null, envelopeObj);
Caused by: java.lang.LinkageError: loading constraint violation when resolving method "javax/xml/bind/JAXBElement.<init>(Ljavax/xml/namespace/QName;Ljava/lang/Class;Ljava/lang/Object;)V" : loader "weblogic/utils/classloaders/ChangeAwareClassLoader@cb641394" of class "com/project/common/CommonUtil" and loader "com/ibm/oti/vm/BootstrapClassLoader@41c7613d" of class "javax/xml/bind/JAXBElement" have different types for the method signature
Приоритет classLoader устанавливается как PARENT_LAST с использованием weblogic.xml
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd"> <wls:weblogic-version>12.2.1</wls:weblogic-version> <wls:container-descriptor> <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes> </wls:container-descriptor> </wls:weblogic-web-app>