alibaba / jvm-sandbox

Real - time non-invasive AOP framework container based on JVM
GNU Lesser General Public License v3.0
6.77k stars 1.56k forks source link

请问,我用了1.4.0,为什么还会报module java.base does not "opens java.net" to unnamed module呢 #467

Open mxian opened 4 months ago

mxian commented 4 months ago

本地环境JDK21,直接打包运行1.4.0 但是日志依然报错

com.alibaba.jvm.sandbox.core.util.UnCaughtException: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.security.AccessControlContext java.net.URLClassLoader.acc accessible: module java.base does not "opens java.net" to unnamed module @7fee8714 at com.alibaba.jvm.sandbox.core.util.SandboxReflectUtils.unCaughtGetClassDeclaredJavaFieldValue(SandboxReflectUtils.java:70) at com.alibaba.jvm.sandbox.core.classloader.ModuleJarClassLoader.cleanProtectionDomainWhichCameFromModuleJarClassLoader(ModuleJarClassLoader.java:105) at com.alibaba.jvm.sandbox.core.classloader.ModuleJarClassLoader.(ModuleJarClassLoader.java:72) at com.alibaba.jvm.sandbox.core.classloader.ModuleJarClassLoader.(ModuleJarClassLoader.java:52) at com.alibaba.jvm.sandbox.core.manager.impl.ModuleJarLoader.load(ModuleJarLoader.java:121) at com.alibaba.jvm.sandbox.core.manager.impl.ModuleLibLoader.load(ModuleLibLoader.java:76) at com.alibaba.jvm.sandbox.core.manager.impl.DefaultCoreModuleManager.reset(DefaultCoreModuleManager.java:590)

1.4.0不是已经支持高版本JDK了吗?是我哪里配置不对吗?

foodjth commented 2 months ago

可以先添加 --add-opens java.base/java.net=ALL-UNNAMED,但是jdk21显然没有支持;

mxian commented 2 months ago

可以先添加 --add-opens java.base/java.net=ALL-UNNAMED,但是jdk21显然没有支持;

好的。我改了改ASM一些东西,现在已经能支持JDK21了