Open ZhaiMo15 opened 7 months ago
我印象中,这个是指 ASM API VERSION ,和支持的JDK没有关系,org.objectweb.asm.Opcodes 下的versions v1_8,vxx是支持的版本
但是应该是ASM9才支持的JDK11 这里限制了版本 在一些需要check的地方的检查用ASM9的话就会出错
ClassVisitor visitRecordComponent visitPermittedSubclass 这两个jdk15的特性,确实需要check ASM8和ASM9, 不过如果你使用的是jdk11+,且你需要增强的类,没有这两个特性(google: java-record permitted-subclass ),那理论上不会报错
确实是visitPermittedSubclass 用的是JDK17
看commit log,在1.4.0的540da04cd2cb936f40626e11e0e90a50d616a9ae提到支撑最新版JDK(JDK20) 但在源码中,如sandbox-core/src/main/java/com/alibaba/jvm/sandbox/core/util/matcher/structure/ClassStructureImplByAsm.java中 还有多处ASM7的内容,如
accept(new ClassVisitor(ASM7)
这里是否都需要修改升级?
各种服务升级到sdk21后,asm版本是各种报错,目前暂时是在 ClassStructureImplByAsm.java做了个ugly patch, 原来的代码是写死了ASM7,改成ASM7有问题就换成ASM9,集中在permitted-subclass这个问题
看commit log,在1.4.0的540da04cd2cb936f40626e11e0e90a50d616a9ae提到支撑最新版JDK(JDK20) 但在源码中,如sandbox-core/src/main/java/com/alibaba/jvm/sandbox/core/util/matcher/structure/ClassStructureImplByAsm.java中 还有多处ASM7的内容,如
accept(new ClassVisitor(ASM7)
这里是否都需要修改升级?