The problem refers to version 2.0.1-INCUBATOR. Regarding the POM at http://people.apache.org/repo/m2-incubating-repository/org/apache/cxf/cxf-rt-frontend-jaxws/2.0.1-incubator/cxf-rt-frontend-jaxws-2.0.1-incubator.pom you can see that there is no version defined for 'asm' artifact so the highest available version will be used (unless otherwise defined), which causes the incompatibility to hibernate.
-----Ursprüngliche Nachricht----- Von: Willem Jiang [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 24. August 2007 03:05 An: [email protected] Betreff: Re: cxf-2.0.1-incubator - dependency incompatibility with hibernate AFAIK, current CXF trunk has upgrade the asm to 2.2.3 for better hibernate integration. You can try out the latest version or just use asm 2.xx to go around it. Willem. gdprao wrote: > 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. >>> >>> >>> >> > >
