错误:java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
原因:hibernate和spring的asm包冲突
解决方法:
去掉下面hibernate中的asm.jar asm-attrs.jar cglib-2.1.3.jar
asm.jar
asm-attrs.jar
cglib-2.1.3.jar
留下 spring 框架下的几个jar包,其实下面的不用管它了,只要去掉上面讲的几个冲突的hibernate 的jar包.
asm-2.2.3.jar
asm-commons-2.2.3.jar
asm-util-2.2.3.jar
cglib-nodep-2.1_3.jar
补充:原来还以为是hbm中把id列映射成了Integer类型的原因
参考:http://hi.baidu.com/hongrongyuan/blog/item/e2f23bfef6d036395d600862.html
http://www.blogjava.net/qin/archive/2008/10/20/235465.html
http://blog.csdn.net/zhouxiaoxiong828788/archive/2009/10/20/4702957.aspx(提到了Integer,但没给出解决办法)
一开始还删错一个jar,把hibernate的cglib-nodep-2.1_3.jar删掉了,结果碰到另外一个错误:
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
因为cglib-2.1.3.jar还在,所以仍然有冲突,解决办法也是一样的
参考:http://jcj1986.blog.163.com/blog/static/10165340420099152590530/