问题描述
程序启动时报错,通常是由于使用反射访问某个私有字段时,Java模块系统(JPMS)限制了未命名模块(类路径上的代码)对内部包的访问。例如:
java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.Map sun.reflect.annotation.AnnotationInvocationHandler.memberValues accessible: module java.base does not “opens sun.reflect.annotation” to unnamed module @1f0f1111

解决方法
使用–add-opens参数,这是目前最直接和有效的方式。通过该参数,可以在启动JVM时显式地开放特定模块的包,允许未命名模块访问。

--add-opens java.base/sun.reflect.annotation=ALL-UNNAMED

具体步骤
在IDEA中操作以下步骤。
在这里插入图片描述
有些界面没有添加VM参数的地方,需要勾选打开。
在这里插入图片描述
勾选上之后就可以添加VM参数。
在这里插入图片描述
保存后重新启动测试是否生效。在这里插入图片描述

Logo

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

更多推荐