场景:一个web项目,用了SSH框架,在选择webservice的时候选择了CXF
问题:项目启动时关键报错信息如下:
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)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:144)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:116)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108)
at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104)
分析:项目中用到spring和hibernate,这两个框架都有需要cglib,但是cglib实际上就是封装了asm;cxf本身也有asm的依赖,异常信息正是由于cglib和cxf的asm版本冲突所致。
解决办法:
在引入cxf版本依赖的时候排除asm的依赖。
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.2.3</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.2.3</version>
</dependency>
分享到:
相关推荐
webservice axis2 cxf jar包及简单实例
因与cxf包xmlschema-core-*.jar 冲突 故重新打包 XmlSchema-1.1.jar 源码修改原类径的方法来重新打包避免冲突 org.codehaus.xfire.wsdl11.parser.SchemaInfo org.codehaus.xfire.wsdl11.parser....
在websphere8.5 下部署含有CXFwebservice的war包无法正常启动,而相应的war包在tomcat上是可以正常启动的,通过后台的日志分析大致可以定位为相关的cxf类无法找到,其实这些类在项目的lib目录下都是存在的,莫名其妙...
因与cxf包xmlschema-core-*.jar 冲突 故重新打包 XmlSchema-1.1.jar 源码修改原类径的方法来重新打包避免冲突 源码放在javas.rar文件夹中 org.codehaus.xfire.wsdl11.parser.SchemaInfo org.codehaus.xfire....
利用Apache CXF开发webservice接口需要用到的jar集合 cxf-core-3.0.15.jar cxf-rt-bindings-soap-3.0.15.jar cxf-rt-bindings-xml-3.0.15.jar cxf-rt-databinding-jaxb-3.0.15.jar cxf-rt-frontend-jaxws-3.0.15.jar...
因与cxf包xmlschema-core-*.jar 冲突 故重新打包 XmlSchema-1.1.jar 源码修改原类径的方法来重新打包避免冲突 源码放在javas.rar文件夹中 org.codehaus.xfire.wsdl11.parser.SchemaInfo org.codehaus.xfire....
java通过cxf实现webservice所需jar包。java通过cxf实现webservice所需jar包。
cxf-2.3.3.jar geronimo-annotation_1.0_spec-1.1.1.jar geronimo-jaxws_2.2_spec-1.0.jar geronimo-stax-api_1.0_spec-1.0.1.jar geronimo-ws-metadata_2.0_spec-1.1.3.jar jaxb-api-2.2.1.jar jaxb-impl-2.2.1.1....
CXF接口所有所需jar包 1.cxf-2.3.3.jar 2.geronimo-annotation_1.0_spec-1.1.1.jar 3.geronimo-jaxws_2.2_spec-1.0.jar 4.geronimo-stax-api_1.0_spec-1.0.1.jar 5.geronimo-ws-metadata_2.0_spec-1.1.3.jar 6...
cxf开发所需jar包,不知为何官网下载页面打不开了,在网上着了很久的资源
spring+cxf 完整的整合jar包,下载下来就能用,很全面
cxf-2.4.2 jar包 cxf-2.4.2 jar包 cxf-2.4.2 jar包
cxf调用webservice,客户端最少jar包,只需4个,告别找jar包的繁琐
http://knight-black-bob.iteye.com/blog/2249625 webservice cxf spring jar jar包
springMVC整合cxf所需的jar包
cxf jar包
cxf最少依赖jar包,在这里整理一下打个包,方便同学们下载不用一个一个去找
webservice cxf jar包。 没有验证哪些是多余的 简单demo可以运行成功