Logo

在使用CGLIB进行动态代理时,为什么会与ASM库发生冲突?如何解决?

作者:谢杰军 发布于2025年08月11日20时24分01秒

cglib和asmr冲突

CGLIB底层依赖ASM库操作字节码,若项目中同时引入了不同版本的ASM(如CGLIB自带的ASM与其他依赖的ASM版本不一致),会导致类加载冲突。解决方法包括: 1.统一ASM版本:通过Maven/Gradle排除旧版本,强制使用CGLIB适配的ASM版本; 2.隔离类加载器:在模块化应用中隔离冲突依赖; 3.升级CGLIB:新版CGLIB可能已适配更高版本ASM。在使用CGLIB进行动态代理时,为什么会与ASM库发生冲突?如何解决?