class net.sf.cglib.core.DebuggingClassWriter overrides final method visit
在使用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包。
"你那么聪明,怎么会猜不到,只是你我都不愿意承认而已。"
你要去做一个大人,不要回头,不要难过。