解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题
作者:真砂4丁目
Spring Boot启动错误源于Java 9+的JPMS强封装机制,反射访问受限导致异常,解决方案为添加JVM参数(如--add-opens),绕过模块访问限制
问题描述
启动sprintboot时报以下错误
原因分析
异常是由Java9及以上版本中引入的Java Platform Module System引起的,特别是强封装的实现。
它仅在特定条件下允许access,对于反射导致异常的代码尝试使用相同的限制。
解决方案
增加如下虚拟运行参数(图为Eclipse的设定方法)
--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。