在Java 9及以上版本运行应用程序时,在各种情况下都会发生此异常。
详细可以参考
module java.base does not "opens java.lang" to unnamed module - 滔天蟹 - 博客园
又由于是框架的问题,所以我们能采取的办法是启动JVM加入如下参数:
# --add-opens has the following syntax: {A}/{package}={B}
--add-opens java.base/java.util=ALL-UNNAMED
如果反射代码在命名模块中,则ALL-UNNAMED可以替换为其名称。
以下为修改过程图片
问题解决。
2 问题描述
根据官方Github Wiki使用如下命令启动Sentinel:
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
报错截图如下:
摘要如下:
java.lang.IllegalState
jdk1.8正常运行,而高版本jdk运行报错 java.lang.reflect.InaccessibleObjectException: Unable to make field transient java.util.HashMap$Node[] java.util.HashMap.table accessible: module java.base does not “opens java.util” to unnamed module @200a570f,
解决方法:(针对于Idea2021.3