Hi,

I have tried the following workaround and could able to resolve this error.  

1. Removed Hibernate's asm.jar,cglib-2.1.3.jar and asm-attrs.jar from
classpath.
2. Placed cglib-nodep-2.1_3.jar in classpath (downloaded from
http://repo1.maven.org/maven2/cglib/cglib-nodep/2.1_3/).
3. Included asm3.0.jar from CXF2.0.1 from distribution into the classpath.

Both Hibernate and CXF errors are disappeared. 

Thanks,
Durga


gdprao wrote:
> 
> Hi Sotlzenberg,
> 
> I am also facing the same exception after upgrading to CXF-2.0.1 with CXF
> asm jars  which seems to be incompatible with hibernate jars.  I don't
> have this issue when I am working with CXF-2.0 version. If I place asm
> jars that comes with hibernate, the Hibernate error disappears, but CXF
> service is breaking with the following exception at run time.  Appreciate
> if someone could help me out on this?
> 
> Thanks,
> Durga
> 
> 14:19:31,667 ERROR [CXFServlet]:invoke(253) | Servlet.service() for
> servlet CXFServlet threw exception
> java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V
>       at
> org.apache.cxf.jaxws.interceptors.WrapperHelperCompiler.<init>(WrapperHelperCompiler.java:79)
>       at
> org.apache.cxf.jaxws.interceptors.WrapperHelperCompiler.compileWrapperHelper(WrapperHelperCompiler.java:89)
>       at
> org.apache.cxf.jaxws.interceptors.WrapperHelper.compileWrapperHelper(WrapperHelper.java:234)
>       at
> org.apache.cxf.jaxws.interceptors.WrapperHelper.createWrapperHelper(WrapperHelper.java:210)
>       at
> org.apache.cxf.jaxws.interceptors.WrapperHelper.createWrapperHelper(WrapperHelper.java:172)
>       at
> org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage(WrapperClassOutInterceptor.java:96)
>       at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>       at
> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:73)
>       at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>       at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
>       at
> org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:78)
>       at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:231)
>       at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:105)
>       at
> org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:271)
>       at 
> org.apache.cxf.transport.servlet.CXFServlet.doGet(CXFServlet.java:253)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> 
> 
> 
> 
> 
> 
> h.stolzenberg wrote:
>> 
>> I recently upgraded to cxf-2.0.1-incubator. After that the following
>> exception occured starting up my webapp:
>> 
>> Error creating bean with name 'SpringSessionFactory' defined in
>> ServletContext resource [/WEB-INF/classes/beans/persistence.context.xml]:
>> Invocation of init method failed; nested exception is
>> java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
>> Caused by: 
>> java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V
>>      at
>> net.sf.cglib.core.DebuggingClassWriter.<init>(DebuggingClassWriter.java:47)
>>      at
>> net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter(DefaultGeneratorStrategy.java:30)
>>      at
>> net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
>>      at
>> net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
>>      at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
>>      at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
>>      at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
>>      at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
>>      at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69)
>>      at
>> org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
>>      at
>> org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
>>      at
>> org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
>>      at
>> org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
>>      at
>> org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
>>      at
>> org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
>>      at
>> org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:295)
>>      at
>> org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
>>      at
>> org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
>>      at
>> org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
>>      at
>> org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
>>      at
>> org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
>>      at
>> org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915)
>>      at
>> org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
>>      at
>> org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
>>      at
>> org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1201)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1171)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
>>      at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
>>      at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
>>      at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:281)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:131)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
>>      at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)
>>      at
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1099)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
>>      at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
>>      at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
>>      at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>>      at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
>>      at
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
>>      at
>> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244)
>>      at
>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)
>>      at
>> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>>      at
>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669)
>>      at
>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4104)
>>      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
>>      at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
>>      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
>>      at
>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
>>      at
>> org.apache.catalina.core.StandardService.start(StandardService.java:450)
>>      at
>> org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
>>      at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>      at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>      at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>      at java.lang.reflect.Method.invoke(Method.java:597)
>>      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
>>      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
>> 
>> I noticed that the or.objectweb ASM library version has grown from 1.5.x
>> -> 3.0. I think because it is a direct dependency of cxf-2.0.1-incubator.
>> But as you can see hibernate cannot use this version of ASM as I think
>> the ASM API has chnged to much between this versions. So I had to
>> redefine my dependencies the following way:
>> 
>> <dependency>
>>      <groupId>org.apache.cxf</groupId>
>>      <artifactId>cxf-rt-frontend-jaxws</artifactId>
>>      <version>2.0.1-incubator</version>
>>      <exclusions>
>>              <exclusion>
>>                      <groupId>asm</groupId>
>>                      <artifactId>asm</artifactId>
>>              </exclusion>
>>      </exclusions>
>> </dependency>
>> <dependency>
>>      <groupId>org.apache.cxf</groupId>
>>      <artifactId>cxf-rt-transports-http</artifactId>
>>      <version>2.0.1-incubator</version>
>> </dependency>
>> <dependency>
>>      <groupId>org.apache.cxf</groupId>
>>      <artifactId>cxf-rt-databinding-aegis</artifactId>
>>      <version>2.0.1-incubator</version>
>> </dependency>
>> <dependency>
>>      <groupId>org.apache.cxf</groupId>
>>      <artifactId>cxf-rt-transports-http-jetty</artifactId>
>>      <version>2.0.1-incubator</version>
>>      <scope>test</scope>
>> </dependency>
>> <dependency>
>>      <groupId>org.hibernate</groupId>
>>      <artifactId>hibernate</artifactId>
>>      <version>3.2.4.sp1</version>
>> </dependency>
>> 
>> But the problem is that I do not know if this causes any side effects in
>> CXF. All my tests are still running, but I do not like the way of
>> excluding ASM.
>> Is there a better approach.
>> 
>> Maybe you should consider the define a dependency range in maven if ASM
>> 3.0 is not absolutely required for cxf-2.0.1-incubator. For me, direct
>> compatibility to Hibernate is essential.
>> 
>> 
>> Mit lieben Grüßen aus dem eWerk
>> 
>>   |  Holger Stolzenberg
>>   |  Softwareentwickler
>>   |
>>   |  Geschäftsführer: 
>>   |  Frank Richter, Erik Wende, Hendrik Schubert
>>   |
>>   |  eWerk IT GmbH
>>   |  Markt 16
>>   |  Leipzig 04109
>>   |  http://www.ewerk.com
>>   |  HRB 9065, AG Leipzig
>>   |  Hauptniederlassung Leipzig
>>   |
>>   |  fon +49.341.4 26 49-0
>>   |  fax +49.341.4 26 49-88
>>   |  mailto:[EMAIL PROTECTED]
>>   |
>>   |  Support:
>>   |  fon 0700 CALLME24 (0700 22556324)
>>   |  fax 0700 CALLME24 (0700 22556324)
>>   |
>>   | Auskünfte und Angebote per Mail
>>   | sind freibleibend und unverbindlich. 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/cxf-2.0.1-incubator---dependency-incompatibility-with-hibernate-tf4266247.html#a12303521
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to