java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit问题总结

java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit

如何来解决这个问题了?
是因为spring和hibernate的asm包冲突了。
在使用Spring的AOP编程时,会用到这几个lib:
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
Hibernate使用如下lib:
asm.jar
asm-attrs.jar
其中asm-2.2.2.jar与asm.jar存在类上的冲突!!!
使用其中之一或两者都使用,可能会出现如下错误:
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit

解决方法一:如果你jar包都在WEB-INF/lib,那么你就可以删除hibernate的三个Jar(asm.jar,asm-attrs.jar,cglib-2.1.2.jar)包就行了或者spring的。[color=red]一定要注意,在tomcat下面删除部署的项目,在重新部署[/color]。


解决方法二:jar包不在lib下,在buildpath上。那么你Window -->Preferences.. -->My Eclipse Enterprise Workbench --> Project Capabilities -->spring
选择project所采用的spring版本,如spring 2.5 (在AOP中)选项卡,选中asm2.2.3.jar,remove掉 就可以了。
一定要注意看tomcat部署后这些文件是否去掉!!!!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值