springboot项目启动报:module java.base does not “opens java.lang“ to unnamed module 解决方法
·
老项目从jdk 1.8升级到了jdk 17版本,结果运行报错:
java.lang.reflect.InaccessibleObjectException: Unable to make protected void java.lang.Object.finalize() throws java.lang.Throwable accessible: module java.base does not "opens java.lang" to unnamed module @fa4c865

查了一下是java 9及更高版本,引入了新的模块系统,一些旧代码和库不兼容导致的。
因为项目已经上线,整体修改依赖肯定不可能了。
查了一下可以通过修改vm options的参数解决这个问题。
修改方法如下:
在运行/调试配置中,给启动项添加vm options参数,复制一下参数添加进去应用即可。
--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
操作如下图:

如果没有vm options可以按快接键ALT+V,或点击下图这个按钮



把上方代码复制一下,添加进去即可

应用后运行,报错就消失了
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)