使用ssh整合时会抛出java.lang.NoSuchMethodError:
org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;
Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
原因:在使用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存在类上的冲突!!!
解决办法:
一、
1.删除 asm-*.jar (asm-2.2.3.jar、asm.jar、asm-attrs.jar、asm-commons-2.2.3.jar、asm-util-2.2.3.jar)
2.删除 cglib-2.1.3.jar
3.添加 asm-all-3.0.jar
不删除asm-*.jar 和 cglib-2.1.3.jar 的话,启动TOMCAT的时候工程会起不来(在logs文件里面查看错误),删除后得添加 asm-all-3.0.jar 。
二、
1.去掉类路径上的关于Hibernate的3个lib
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
2.加入Spring中的以下4个lib
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
cglib-nodep-2.1_3.jar