在Weblogic 12c中启动JAXBElement时,我遇到了Linkage错误。 修复它需要几天的时间,但我仍然没有任何线索。
系统使用SOAP与另一个系统通信。 当系统通过以下代码创建信封时。 它抛出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.(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的优先级使用weblogic.xml设置为PARENT_LAST
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">
12.2.1
true