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.
