2012-01-11 166 views
6

我們正在構建一個Websphere 7作爲目標環境的Web應用程序,它使用CXF連接到Web服務。我們已經使用Jetty在本地進行了測試,一切都很順利。我們現在正在嘗試部署在WebSphere應用程序,我得到anLinkageError,我真的不明白這個錯誤的意思......Websphere中的加載約束衝突

[11/01/12 10:25:45:716 CET] 00000013 webapp  E com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E: [Servlet Error]-[loading constraint violation: loader "com/ibm/ws/classloader/[email protected]" previously initiated loading for a different type with name "javax/xml/bind/JAXBContext" defined by loader "com/ibm/oti/vm/[email protected]"]: java.lang.LinkageError: loading constraint violation: loader "com/ibm/ws/classloader/[email protected]" previously initiated loading for a different type with name "javax/xml/bind/JAXBContext" defined by loader "com/ibm/oti/vm/[email protected]" 
at java.lang.ClassLoader.defineClassImpl(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:275) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69) 
at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:773) 
at com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:688) 
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:529) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:626) 
at java.lang.J9VMInternals.verifyImpl(Native Method) 
at java.lang.J9VMInternals.verify(J9VMInternals.java:72) 
at java.lang.J9VMInternals.initialize(J9VMInternals.java:134) 
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createDefaultDataBinding(ReflectionServiceFactoryBean.java:214) 
at org.apache.cxf.service.factory.AbstractServiceFactoryBean.getDataBinding(AbstractServiceFactoryBean.java:109) 
at org.apache.cxf.service.factory.AbstractServiceFactoryBean.getDataBinding(AbstractServiceFactoryBean.java:105) 
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.generatedWrapperBeanClass(JaxWsServiceFactoryBean.java:654) 
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.getExtraClass(JaxWsServiceFactoryBean.java:630) 
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:394) 
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:505) 
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:241) 
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:202) 
at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101) 
at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:90) 
at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:153) 
at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:151) 
at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:465) 
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:332) 
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:319) 
at javax.xml.ws.Service.getPort(Service.java:103) 
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.getPortStub(JaxWsPortClientInterceptor.java:413) 
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.prepare(JaxWsPortClientInterceptor.java:337) 
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.invoke(JaxWsPortClientInterceptor.java:478) 
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) 
at $Proxy365.logAccessToApplicationForUser(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) 
at java.lang.reflect.Method.invoke(Method.java:611) 
at org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:416) 
at org.apache.wicket.proxy.$Proxy397.logAccessToApplicationForUser(Unknown Source) 
at com.bnpp.ecom.emm.EMMHomePage.onInitialize(EMMHomePage.java:52) 
at org.apache.wicket.Component.fireInitialize(Component.java:920) 
at org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1002) 
at org.apache.wicket.Page.internalPrepareForRender(Page.java:278) 
at org.apache.wicket.Component.render(Component.java:2271) 
at org.apache.wicket.Page.renderPage(Page.java:1035) 
at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105) 
at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:224) 
at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167) 
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:750) 
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) 
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:252) 
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:209) 
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280) 
at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162) 
at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:997) 
at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.invokeFilters(DefaultExtensionProcessor.java:1062) 
at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:759) 
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935) 
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276) 
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931) 
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583) 
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276) 
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) 
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) 
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604) 

這是否意味着什麼,你呢?

很多感謝

回答

3

這實際上是一樣的this question。就你而言,你的應用程序包含了javax.xml.bind.JAXBContext API,並且你正在引用應用程序之外的一些類,這些類依賴於JVM定義的同一個類。

2

修正了:

<dependency> 
    <groupId>javax.xml.bind</groupId> 
    <artifactId>jaxb-api</artifactId> 
    <version>2.1</version> 
+ <scope>provided</scope> 
    </dependency> 

似乎問題/是由與WebSphere類衝突JAXB-API類引起的。