代码懒得整理了,转一篇
https://www.cnblogs.com/ygj0930/p/6542259.html
--------------------------------------------------------------------------------------------------
在运行测试类的时候出现了异常
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.(KeyFactory.java:66) at net.sf.cglib.proxy.Enhancer.(Enhancer.java:69) at factory.MyCglibFactory.myCglibCreator(MyCglibFactory.java:20) at test.MyTest2.main(MyTest2.java:8) Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 5 more
经过查询之后发现除了要导入cglib的jar包之外还要导入asm的jar包,导入asm的jar包之后即可解决该问题。 --------------------- -------------------------------------------------------------------------------------
cglib版本为3.0或3.1,org.objectweb.asm版本为3.1.0时 版本冲突,报错java.lang.IncompatibleClassChangeError: class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class 使用cglib 2.2 可解决此问题,该版本中的DebuggingClassWriter的父类为ClassWriter