当前位置:  开发笔记 > 运维 > 正文

LinkageError:使用Resteasy在Websphere6.1中链接javax / xml / namespace / QName时违反了加载程序约束

如何解决《LinkageError:使用Resteasy在Websphere6.1中链接javax/xml/namespace/QName时违反了加载程序约束》经验,为你挑选了1个好方法。

拨打Web服务时出现此错误。我无法为此解决一个问题。任何帮助是极大的赞赏。

我拥有的相关库是:axis-1.3.jar
axis-jaxrpc-1.3.jar
axis-saaj-1.3.jar
axis-wsdl4j-1.5.1.jar

jaxb-api-2.1.jar jaxb-impl-2.1.8.jar jaxen-1.1-beta-9.jar jaxrs-api-1.0-beta-9.jar

在Websphere 61中,管理员设置如下:企业应用程序-> WAR Classloader模式:PARENT_LAST * Web模块:-> ClassLoader模式:application_FIRST

由以下原因引起:java.lang.LinkageError:在com.sun.com.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl。(RuntimeBuiltinLeafInfoImpl.java:224)处链接javax / xml / namespace / QName类时,违反了加载程序约束位于com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:127)的.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl。(RuntimeTypeInfoSetImpl.java:61) com.sun.xml.bind.v2.model.impl.ModelBuilder。(ModelBuilder.java:152)上的xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:79) com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:432)上的.bind.v2.model.impl.RuntimeModelBuilder。(RuntimeModelBuilder.java:87) v2.runtime.JAXBContextImpl。(JAXBContextImpl.java:297)在com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)在com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)处的sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method。处的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)处的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethod) javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211)处的invoke(Method.java:585)javax.xml.bind.JAXBContext处的javax.xml.bind.ContextFinder.find(ContextFinder.java:372)处的invoke(Method.java:585) org.jboss.resteasy.plugins.providers.jaxb.JAXBContextWrapper。(JAXBContextWrapper.java:74)上的.newInstance(JAXBContext.java:574)。在org.jboss.resteasy.plugins上的resteasy.plugins.providers.jaxb.JAXBContextWrapper。(JAXBContextWrapper.java:99)在org.jboss.resteasy.plugins.providers.jaxb.XmlJAXBContextFinder.createContextObject(XmlJAXBContextFinder.java:48)在org.jboss.resteasy.plugins。 org.jboss.resteasy.plugins.providers.jaxb.XmlJAXBContextFinder.findCachedContext(XmlJAXBContextFinder.java:39)上的.jaxb.AbstractJAXBContextFinder.createContext(AbstractJAXBContextFinder.java:114)在org.jboss.resteasy.plugins.providers.jaxb上org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.getMarshaller(AbstractJAXBProvider.java:112)的.findJAXBContext(AbstractJAXBProvider.java:49)org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.writeTo(Abstract .java:88),网址为org.jboss.resteasy.client.core。org.jboss.resteasy.client.core.MessageBodyParameterMarshaller.buildRequest(MessageBodyParameterMarshaller.java:51)上的MessageBodyParameterMarshaller $ ClientRequestEntity。(MessageBodyParameterMarshaller.java:88)在org.jboss.resteasy.client.core.ClientInvoker.invoke(ClientInvoker。 :197),位于org.jboss.resteasy.client.core.ClientProxy.invoke(ClientProxy.java:46),位于Proxy.wides.wedsimple.client.WedSimpleClientImpl.updateAccount(WedSimpleClientImpl。 com.amg.brides.wedsimple.web.WedSimpleUpdateAccountEvent.invokeClient(WedSimpleUpdateAccountEvent.java:24)处com.amg.brides.wedsimple.web.AbstractWedSimpleAccountEvent.execute(AbstractWedSimpleAccountEvent.java:35)处.brides.util.WebEventProcessor.processEvents(WebEventProcessor。Java:29)



1> krosenvold..:

基本问题是您正在从一个不正确的jar加载与xml相关的一个或多个类文件。您的应用程序服务器不允许您更改这些库,因为它已经从其他实现中加载了大多数解析器。我试图检查jar文件的内容以查找javax / xml / namespace,但是中途停止。如果您发现它,则很有可能不用冒犯性的课程就可以得到一个。人们已经知道可以从外部jar中手动删除此类文件。

您可能可以在容器运行时打开som vm选项以记录类加载。这是java -verbose:class选项。

对不起,我无法指出确切的问题;)

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有