jdk1.8 do this without error
java.lang.reflect.Field field;
Field f = field.getClass().getDeclaredField(“signature”)
but upgrade to jdk21
err:java.lang.NoSuchFieldException: signature
jvm ops:
<code>--add-opens
java.base/java.lang=ALL-UNNAMED
--add-opens
java.base/java.lang.reflect=ALL-UNNAMED
--add-opens
java.base/java.lang.invoke=ALL-UNNAMED
--add-opens
java.base/sun.reflect.annotation=ALL-UNNAMED
--add-opens
java.base/java.math=ALL-UNNAMED
--add-opens
java.base/java.util=ALL-UNNAMED
--add-opens
java.base/sun.util.calendar=ALL-UNNAMED
--add-opens
java.base/java.io=ALL-UNNAMED
--add-opens
java.base/java.net=ALL-UNNAMED
--add-opens
java.base/java.nio=ALL-UNNAMED
--add-opens
java.xml/com.sun.org.apache.xerces.internal.jaxp.datatype=ALL-UNNAMED
--add-opens
java.management/sun.management=ALL-UNNAMED
--add-opens
java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
--add-opens
jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
</code>
<code>--add-opens
java.base/java.lang=ALL-UNNAMED
--add-opens
java.base/java.lang.reflect=ALL-UNNAMED
--add-opens
java.base/java.lang.invoke=ALL-UNNAMED
--add-opens
java.base/sun.reflect.annotation=ALL-UNNAMED
--add-opens
java.base/java.math=ALL-UNNAMED
--add-opens
java.base/java.util=ALL-UNNAMED
--add-opens
java.base/sun.util.calendar=ALL-UNNAMED
--add-opens
java.base/java.io=ALL-UNNAMED
--add-opens
java.base/java.net=ALL-UNNAMED
--add-opens
java.base/java.nio=ALL-UNNAMED
--add-opens
java.xml/com.sun.org.apache.xerces.internal.jaxp.datatype=ALL-UNNAMED
--add-opens
java.management/sun.management=ALL-UNNAMED
--add-opens
java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
--add-opens
jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
</code>
--add-opens
java.base/java.lang=ALL-UNNAMED
--add-opens
java.base/java.lang.reflect=ALL-UNNAMED
--add-opens
java.base/java.lang.invoke=ALL-UNNAMED
--add-opens
java.base/sun.reflect.annotation=ALL-UNNAMED
--add-opens
java.base/java.math=ALL-UNNAMED
--add-opens
java.base/java.util=ALL-UNNAMED
--add-opens
java.base/sun.util.calendar=ALL-UNNAMED
--add-opens
java.base/java.io=ALL-UNNAMED
--add-opens
java.base/java.net=ALL-UNNAMED
--add-opens
java.base/java.nio=ALL-UNNAMED
--add-opens
java.xml/com.sun.org.apache.xerces.internal.jaxp.datatype=ALL-UNNAMED
--add-opens
java.management/sun.management=ALL-UNNAMED
--add-opens
java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
--add-opens
jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED