您当前的位置: 首页 >  Java

Dongguo丶

暂无认证

  • 2浏览

    0关注

    472博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java动态代理之JDK实现和CGlib实现(简单易懂)

Dongguo丶 发布时间:2018-12-17 11:11:19 ,浏览量:2

 代码懒得整理了,转一篇

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  

关注
打赏
1638062488
查看更多评论
立即登录/注册

微信扫码登录

0.0354s