在使用CGLIB進行動態代理的時候,報了【java.lang.VerifyError: class net.sf.cglib.core.DebuggingClassWriter overrides final method visit.
(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V】錯誤。
報錯的原因
原因是因為我做的是SpringBoot的項目,在SpringBoot的架構中已經存在了cglib的jar包。這時候如果再在POM文件中引入cglib2.2的jar包,並且在代碼中導入使用的是cglib2.2的類,就會導致asm類的版本沖突,導致報錯。
解決的方法
解決的辦法就是去除單獨引入的cglib包,轉而直接使用SpringBoot中提供的cglib包。
"你那么聰明,怎么會猜不到,只是你我都不願意承認而已。"