报错信息:
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make field private static final long java.util.ArrayList.serialVersionUID accessible: module java.base does not "opens java.util" to unnamed module @34a245ab
at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:391)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:367)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:315)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:183)
at java.base/java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:131)
at objectAnalyzer.ObjectAnalyzer.toString(ObjectAnalyzer.java:32)
at objectAnalyzer.ObjectAnalyzerTest.main(ObjectAnalyzerTest.java:11)
程序运行时,会出现一个InaccessibleObjectException异常,要让程序继续运行,需要把java.base模块中的java.util和java.lang包“打开”到“无名模块”。
具体操作过程:
在IntelliJ IDEA中,点击顶部菜单“Run"->"Edit Configurations"
在Application中选择你需要运行的文件,选择Modify options 中选择Add VM options
在VM options 一栏中输入以下代码
--add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED
最后程序顺利运行