【发布时间】:2020-01-26 00:08:52
【问题描述】:
有没有办法在 OpenJDK11 中使用 sun.reflect,可能在“--add-exports”中添加一些东西?我们的代码失败了,因为 jide pkg 内部使用了 sun.reflect 包,我正在尝试看看是否有办法让它工作。
我已经尝试过以下方法,但没有帮助。
"--add-exports jdk.unsupported/sun.reflect=ALL-UNNAMED"
这是一个例外,基础类引用 sun.reflect.Reflection
java.lang.NoClassDefFoundError: sun/reflect/Reflection
【问题讨论】:
-
您能否更新帖子以包含异常或至少包含您正在使用的 sun.reflect 中的类的名称?如果它不是 JEP 260 中确定的关键内部 API 之一,那么它将被删除(或移动)。
-
更新帖子有例外。是否有一个链接列出了 OpenJDK11 中已删除的内容?谢谢。
-
sun.reflect.Reflection 最终被弃用,最终在 JDK 11 中被删除。您使用的是哪些方法?如果是 getCallerClass,那么你应该移动标准 API,即 java.lang.StackWalker。
标签: java-11 openjdk-11