在使用CGLIB尝试动态代理时,出现了如下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/objectweb/asm/Type
at net.sf.cglib.core.TypeUtils.parseType(TypeUtils.java:184)
at net.sf.cglib.core.KeyFactory.<clinit>(KeyFactory.java:72)
at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:72)
at com.csdn.proxy.cglibproxy.ProxyFactory.getProxyObject(TrainStation.java:20)
at com.csdn.proxy.cglibproxy.Client.main(TrainStation.java:39)
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 5 more
因为导包的时候,没有用Maven构建项目部,问题应该在jar包上,之前使用的cglib的jar为:
cglib-3.3.0.jar
解决方法:
更换jar包为:
cglib-nodep-3.3.0.jar
下载方式:
- 进入阿里云云效Maven
2.Idea普通方式导入jar包。
导包之后运行可能会出现以下问题:
尝试降低JDK版本即可。