You can use the technique described in:
https://issues.apache.org/jira/browse/CXF-4424

to override appserver libraries.

(Although you need to override neethi - not jaxb - it seems)


2014/1/13 Andrei Shakirin <[email protected]>

> Hi,
>
> It seems that classloader takes other Neethi jar anyway.
> I would firstly look for Neethi class (AssertionBuilderFactory.class) to
> determine where it really loaded and ask WAS forums how to avoid that.
>
> Regards,
> Andrei.
>
> > -----Original Message-----
> > From: ganeshatmail [mailto:[email protected]]
> > Sent: Samstag, 11. Januar 2014 19:58
> > To: [email protected]
> > Subject: Help needed: java.lang.IncompatibleClassChangeError:
> > org.apache.neethi.AssertionBuilderFactory
> >
> > Hi,
> >
> >  I am using spring 3 jars, cxf-2.5.9 jar & neethi-3.0.2 jar in our app.
> WAS
> > 7 is the app server.
> > Following is the class loader policy set in the server.xml, which loads
> > PARENT_LAST.
> >
> > <components xmi:type="applicationserver:ApplicationServer"
> > xmi:id="ApplicationServer_1386837293322" name="xxxx" id="-1"
> > applicationClassLoaderPolicy="SINGLE"
> > applicationClassLoadingMode="PARENT_LAST">
> >
> > The deployment.xml also set to PARENT_LAST.
> >
> > <classloader xmi:id="Classloader_1389283672103" mode="PARENT_LAST"/>
> >
> > But when I try to publish the ear in the server, I am getting class
> incompatible
> > error as shown below:
> >
> > org.springframework.beans.factory.BeanCreationException: Error creating
> > bean with name
> > 'org.springframework.web.servlet.mvc.method.annotation.RequestMappin
> > gHandlerMapping#0':
> > Initialization of bean failed; nested exception is
> > org.springframework.beans.factory.BeanCreationException: Error creating
> > bean with name 'org.apache.cxf.binding.soap.SoapBindingFactory' defined
> in
> > class path resource [META-INF/cxf/cxf-extension-soap.xml]: Cannot resolve
> > reference to bean 'cxf' while setting constructor argument; nested
> exception
> > is org.springframework.beans.factory.BeanCreationException: Error
> creating
> > bean with name 'cxf' defined in class path resource
> [META-INF/cxf/cxf.xml]:
> > Instantiation of bean failed; nested exception is
> > org.springframework.beans.BeanInstantiationException: Could not
> > instantiate bean class [org.apache.cxf.bus.spring.SpringBus]: Constructor
> > threw exception; nested exception is
> > java.lang.IncompatibleClassChangeError:
> > org.apache.neethi.AssertionBuilderFactory
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.doCreateBean(AbstractAutowireCapableBeanFactory.java:530)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.createBean(AbstractAutowireCapableBeanFactory.java:459)
> >         at
> > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObje
> > ct(AbstractBeanFactory.java:294)
> >         at
> > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.g
> > etSingleton(DefaultSingletonBeanRegistry.java:225)
> >  at
> > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBea
> > n(AbstractBeanFactory.java:291)
> >         at
> > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(A
> > bstractBeanFactory.java:193)
> >         at
> > org.springframework.beans.factory.support.DefaultListableBeanFactory.preI
> > nstantiateSingletons(DefaultListableBeanFactory.java:585)
> >         at
> > org.springframework.context.support.AbstractApplicationContext.finishBea
> > nFactoryInitialization(AbstractApplicationContext.java:913)
> >         at
> > org.springframework.context.support.AbstractApplicationContext.refresh(A
> > bstractApplicationContext.java:464)
> >         at
> > org.springframework.web.context.ContextLoader.configureAndRefreshWeb
> > ApplicationContext(ContextLoader.java:381)
> >         at
> > org.springframework.web.context.ContextLoader.initWebApplicationContex
> > t(ContextLoader.java:283)
> >         at
> > org.springframework.web.context.ContextLoaderListener.contextInitialized(
> > ContextLoaderListener.java:111)
> >         at
> > com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(
> > WebApp.java:1718)
> >         at
> > com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(We
> > bApp.java:385)
> >         at
> > com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java
> > :299)
> >         at
> > com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(We
> > bGroupImpl.java:100)
> >         at
> > com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostI
> > mpl.java:166)
> >         at
> > com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContaine
> > r.java:732)
> >         at
> > com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebCo
> > ntainer.java:617)
> >         at
> > com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContai
> > nerImpl.java:376)
> >         at
> > com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContai
> > nerImpl.java:668)
> >         at
> > com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrI
> > mpl.java:1128)
> >         at
> > com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObj
> > ectStart(DeployedApplicationImpl.java:1319)
> >         at
> > com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedMod
> > uleImpl.java:611)
> >         at
> > com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedA
> > pplicationImpl.java:944)
> >         at
> > com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(Applic
> > ationMgrImpl.java:741)
> >         at
> > com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrI
> > mpl.java:1273)
> >         at
> > com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl
> > .java:5395)
> >         at
> > com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextMana
> > gerImpl.java:5483)
> >         at
> > com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.jav
> > a:255)
> >         at
> > com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynam
> > ically(ApplicationMgrImpl.java:1278)
> >         at
> > com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrI
> > mpl.java:2050)
> >         at
> > com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(Compositio
> > nUnitMgrImpl.java:389)
> >         at
> > com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUn
> > itImpl.java:123)
> >         at
> > com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(Compositio
> > nUnitMgrImpl.java:332)
> >         at
> > com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startComposition
> > Unit(CompositionUnitMgrImpl.java:603)
> >         at
> > com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startComposition
> > Unit(CompositionUnitMgrImpl.java:565)
> >         at
> > com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(Applic
> > ationMgrImpl.java:1185)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> > ava:48)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> > sorImpl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:600)
> >         at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:57)
> >         at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> > sorImpl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:600)
> >         at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:260)
> >         at
> > javax.management.modelmbean.RequiredModelMBean$4.run(RequiredMo
> > delMBean.java:1137)
> >         at
> > java.security.AccessController.doPrivileged(AccessController.java:250)
> >         at
> > com.ibm.oti.security.CheckedAccessControlContext.securityCheck(Checked
> > AccessControlContext.java:30)
> >         at
> > sun.misc.JavaSecurityAccessWrapper.doIntersectionPrivilege(JavaSecurityAc
> > cessWrapper.java:29)
> >         at
> > javax.management.modelmbean.RequiredModelMBean.invokeMethod(Re
> > quiredModelMBean.java:1131)
> >         at
> > javax.management.modelmbean.RequiredModelMBean.invoke(RequiredM
> > odelMBean.java:984)
> >         at
> > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultM
> > BeanServerInterceptor.java:836)
> >         at
> > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:
> > 762)
> >         at
> > com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1
> > 331)
> >         at
> >
> com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.jav
> > a:118)
> >         at
> > com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:
> > 1224)
> >         at
> > com.ibm.ws.management.connector.AdminServiceDelegator.invoke(Admin
> > ServiceDelegator.java:181)
> >         at
> > com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:24
> > 2)
> >         at
> > com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(
> > IPCConnectorInboundLink.java:353)
> >         at
> > com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConn
> > ectorReadCallback.complete(IPCConnectorInboundLink.java:595)
> >         at
> > com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCall
> > back.complete(SSLReadServiceContext.java:1784)
> >         at
> > com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(
> > AioReadCompletionListener.java:175)
> >         at
> > com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.
> > java:217)
> >         at
> > com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannel
> > Future.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.jav
> > a:775)
> >         at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
> >         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1656)
> > Caused by: org.springframework.beans.factory.BeanCreationException:
> > Error creating bean with name
> > 'org.apache.cxf.binding.soap.SoapBindingFactory'
> > defined in class path resource [META-INF/cxf/cxf-extension-soap.xml]:
> > Cannot resolve reference to bean 'cxf' while setting constructor
> argument;
> > nested exception is
> > org.springframework.beans.factory.BeanCreationException: Error creating
> > bean with name 'cxf' defined in class path resource
> > [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is
> > org.springframework.beans.BeanInstantiationException: Could not
> > instantiate bean class [org.apache.cxf.bus.spring.SpringBus]: Constructor
> > threw exception; nested exception is
> > java.lang.IncompatibleClassChangeError:
> > org.apache.neethi.AssertionBuilderFactory
> >         at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
> > solveReference(BeanDefinitionValueResolver.java:328)
> >         at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
> > solveValueIfNecessary(BeanDefinitionValueResolver.java:106)
> >         at
> > org.springframework.beans.factory.support.ConstructorResolver.resolveCo
> > nstructorArguments(ConstructorResolver.java:630)
> >         at
> > org.springframework.beans.factory.support.ConstructorResolver.autowireC
> > onstructor(ConstructorResolver.java:148)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1028
> > )
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:932)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBea
> > nFactory.java:760)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:6
> > 91)
> >         at
> > org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMat
> > ch(AbstractBeanFactory.java:519)
> >         at
> > org.springframework.beans.factory.support.DefaultListableBeanFactory.get
> > BeanNamesForType(DefaultListableBeanFactory.java:319)
> >         at
> > org.springframework.beans.factory.support.DefaultListableBeanFactory.get
> > BeanNamesForType(DefaultListableBeanFactory.java:298)
> >         at
> > org.springframework.context.support.AbstractApplicationContext.getBeanN
> > amesForType(AbstractApplicationContext.java:1150)
> >         at
> > org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.
> > initHandlerMethods(AbstractHandlerMethodMapping.java:85)
> >         at
> > org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.
> > initApplicationContext(AbstractHandlerMethodMapping.java:72)
> >         at
> >
> org.springframework.context.support.ApplicationObjectSupport.initApplicati
> > onContext(ApplicationObjectSupport.java:119)
> >         at
> > org.springframework.web.context.support.WebApplicationObjectSupport.in
> > itApplicationContext(WebApplicationObjectSupport.java:72)
> >         at
> > org.springframework.context.support.ApplicationObjectSupport.setApplicati
> > onContext(ApplicationObjectSupport.java:73)
> >         at
> > org.springframework.context.support.ApplicationContextAwareProcessor.in
> > vokeAwareInterfaces(ApplicationContextAwareProcessor.java:117)
> >         at
> > org.springframework.context.support.ApplicationContextAwareProcessor.p
> > ostProcessBeforeInitialization(ApplicationContextAwareProcessor.java:92)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapabl
> > eBeanFactory.java:397)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.initializeBean(AbstractAutowireCapableBeanFactory.java:1438)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
> >         ... 70 more
> > Caused by: org.springframework.beans.factory.BeanCreationException:
> > Error creating bean with name 'cxf' defined in class path resource
> > [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is
> > org.springframework.beans.BeanInstantiationException: Could not
> > instantiate bean class [org.apache.cxf.bus.spring.SpringBus]: Constructor
> > threw exception; nested exception is
> > java.lang.IncompatibleClassChangeError:
> > org.apache.neethi.AssertionBuilderFactory
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.instantiateBean(AbstractAutowireCapableBeanFactory.java:990)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:936)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.doCreateBean(AbstractAutowireCapableBeanFactory.java:488)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.createBean(AbstractAutowireCapableBeanFactory.java:459)
> >         at
> > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObje
> > ct(AbstractBeanFactory.java:294)
> >         at
> > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.g
> > etSingleton(DefaultSingletonBeanRegistry.java:225)
> >         at
> > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBea
> > n(AbstractBeanFactory.java:291)
> >         at
> > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(A
> > bstractBeanFactory.java:193)
> >         at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
> > solveReference(BeanDefinitionValueResolver.java:322)
> >         ... 91 more
> > Caused by: org.springframework.beans.BeanInstantiationException: Could
> > not instantiate bean class [org.apache.cxf.bus.spring.SpringBus]:
> Constructor
> > threw exception; nested exception is
> > java.lang.IncompatibleClassChangeError:
> > org.apache.neethi.AssertionBuilderFactory
> >         at
> > org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:162)
> >         at
> >
> org.springframework.beans.factory.support.SimpleInstantiationStrategy.inst
> > antiate(SimpleInstantiationStrategy.java:76)
> >         at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanF
> > actory.instantiateBean(AbstractAutowireCapableBeanFactory.java:983)
> >         ... 99 more
> > Caused by: java.lang.IncompatibleClassChangeError:
> > org.apache.neethi.AssertionBuilderFactory
> >         at java.lang.ClassLoader.defineClassImpl(Native Method)
> >         at java.lang.ClassLoader.defineClass(ClassLoader.java:275)
> >         at
> > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:74)
> >         at
> > com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClas
> > sLoader.java:775)
> >         at
> > com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundCla
> > ssLoader.java:690)
> >         at
> > com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLo
> > ader.java:513)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:626)
> >         at java.lang.ClassLoader.defineClassImpl(Native Method)
> >         at java.lang.ClassLoader.defineClass(ClassLoader.java:275)
> >         at
> > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:74)
> >         at
> > com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClas
> > sLoader.java:775)
> >         at
> > com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundCla
> > ssLoader.java:690)
> >         at
> > com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLo
> > ader.java:513)
> >         at java.lang.ClassLoader.loadClass(ClassLoader.java:626)
> >         at
> > org.apache.cxf.bus.extension.Extension.getClassObject(Extension.java:155)
> >         at
> > org.apache.cxf.bus.extension.ExtensionManagerImpl.activateAllByType(Ext
> > ensionManagerImpl.java:137)
> >         at
> > org.apache.cxf.bus.extension.ExtensionManagerBus.<init>(ExtensionManag
> > erBus.java:131)
> >         at
> > org.apache.cxf.bus.extension.ExtensionManagerBus.<init>(ExtensionManag
> > erBus.java:143)
> >         at org.apache.cxf.bus.spring.SpringBus.<init>(SpringBus.java:52)
> >         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> > Method)
> >         at
> > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructor
> > AccessorImpl.java:44)
> >         at
> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCon
> > structorAccessorImpl.java:27)
> >         at
> java.lang.reflect.Constructor.newInstance(Constructor.java:516)
> >         at
> > org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147)
> >         ... 101 more
> >
> >
> >
> > Any help would be highly appreciated.
> >
> >
> > Thanks
> >
> >
> >
> >
> > --
> > View this message in context: http://cxf.547215.n5.nabble.com/Help-
> > needed-java-lang-IncompatibleClassChangeError-org-apache-neethi-
> > AssertionBuilderFactory-tp5738473.html
> > Sent from the cxf-user mailing list archive at Nabble.com.
>



-- 
--
David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen

Reply via email to