nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type

本文介绍了使用cglib进行动态代理时可能出现的NoClassDefFoundError异常及其解决方法,包括检查asm包是否导入、解决asm包冲突及确保cglib与asm版本兼容。

在使用cglib进行动态代理时,很可能会出现下面的异常:

NoClassDefFoundError: org/objectweb/asm/Type

当这种异常出现时,可能从下面几个方法查找问题。

1、asm包有没有导入

由于cglib动态代理需要使用asm反射包,所以,如果没有导入asm就会出现org.objectweb.asm.Type类找不到的问题,导入asm包就可以了。
这里写图片描述

2、asm包冲突

排除项目中不需要的asm包

3、cglib包与asm包版本不兼容

总结:
针对上面的可能出现的一些问题,有一些可以通过下面的方式避免。
由于cglib需要用到asm,所以引入cglib包时,必须要引入asm包,而且版本需要兼容。这样就很容易出现问题,好在cglib开发者帮我们想到了这个问题,于是,有了cglib-nodep.jar,这个自身包含了asm,所以,引入cglib-nodep后,就不需要再引asm了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值