最近项目的jdk切换1.8以后出现个问题,就是Duang带泛型签名的class时,报如下异常。
Exception in thread "main" java.lang.IllegalArgumentException
at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
at net.sf.cglib.proxy.BridgeMethodResolver.resolveAll(BridgeMethodResolver.java:61)
at net.sf.cglib.proxy.Enhancer.emitMethods(Enhancer.java:911)
at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:498)
at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:285)
at net.sf.cglib.proxy.Enhancer.create(Enhancer.java:663)
at com.jfinal.aop.Enhancer.enhance(Enhancer.java:32)
at com.jfinal.aop.Duang.duang(Duang.java:27)
at
升级cglib-nodep到3.2以后问题解决。具体原因未查到,我去看了cglib的不过列表。好像跟https://github.com/cglib/cglib/issues/59这个bug有关,en水平欠佳,没弄清楚具体问题。