最近项目的jdk切换1.8之后发生的问题是,当Duang报告带通用签名的class时,报告了以下异常:
exceptioninthread ' main ' Java.lang.illegalargumentexception
at net.SF.cglib.ASM.class reader.(unknown source )
at net.SF.cglib.ASM.class reader.(unknown source )
at net.SF.cglib.ASM.class reader.(unknown source )
at net.SF.cglib.proxy.bridgemethodresolver.resolve all (bridgemethodresolver.Java :61 ) )。
at net.SF.cglib.proxy.enhancer.emit methods (enhancer.Java :911 ) ) ) ) ) )。
at net.SF.cglib.proxy.enhancer.generate class (enhancer.Java :498 ) )。
at net.SF.cglib.core.defaultgeneratorstrategy.generate (defaultgeneratorstrategy.Java :25 )。
at net.SF.cglib.core.abstract class generator.create (abstract class generator.Java 3360216 )。
at net.SF.cglib.proxy.enhancer.create helper (enhancer.Java 3360377 ) ) )。
at net.SF.cglib.proxy.enhancer.create (enhancer.Java :285 ) )。
at net.SF.cglib.proxy.enhancer.create (enhancer.Java :663 )。
atcom.j final.AOP.enhancer.enhance (enhancer.Java :32 ) )。
atcom.j final.AOP.duang.duang (duang.Java :27 ) )。
at
将cglib-nodep升级到3.2或更高版本可以解决问题。 因为没有找到具体原因,所以我去看了cglib的列表。 似乎与https://github.com/cglib/cglib/issues/59这个错误有关,但en水平很差,具体问题不清楚。