Skip to main content

Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass

· One min read

背景

本地编译报错

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @49dc7102

排查

本地编译的时候,发现报这个错,而同事不会有这个错误.
类加载器相关,第一个怀疑的是jdk,于是最后找到原因是用的jdk版本不对,同事用的是jdk11
我刚刚升级的idea不久,idea使用的是默认的jdk17

原因

项目使用的是jdk11 ,而我idea使用的是jdk17

修改方式

进入:

File --> Project Structure

选择jdk11,然后问题解决 图片