天天看點

SSH中出現java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.(I)V

參考:http://hi.baidu.com/enter775/blog/item/81ab4512ad6ee15af919b839.html

java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V

解決辦法:

把hibernate中的cglib-*.jar和asm-*.jar删除,添加spring中的cglib-2.1.3.jar

----------------------------------------------------------------------------------------------------------

在http://hi.baidu.com/enter775/blog/item/81ab4512ad6ee15af919b839.html中寫到

在Hibernate 3.2.6.ga 中的 cglib 是 cglib-2.1.3.,jar 使用 cglib-2.2.jar 則出現以上問題。

将包換掉,問題解決。

看來運用一種架構,還是盡量使用其原始的jar包構成的環境。以避免出現一些不可預知的錯誤。

擴充一下,了解下 cglib是什麼?

CGlib概述:

cglib(Code Generation Library)是一個強大的,高性能,高品質的Code生成類庫。它可以在運作期擴充Java類與實作Java接口。

cglib封裝了asm,可以在運作期動态生成新的class。

cglib用于AOP,jdk中的proxy必須基于接口,cglib卻沒有這個限制。

繼續閱讀