IntelliJ IDEA安装OpenJDK20后运行测试报java.lang.Object.class找不到错误
解决IntelliJ IDEA中
java.lang.Object.class找不到的问题 排查JDK核心配置
- 确认SDK路径指向完整JDK目录:打开
File > Project Structure(快捷键Ctrl+Alt+Shift+S),进入Platform Settings > SDKs,检查OpenJDK 20.0.2的Home Path是否为JDK根目录(如C:\Program Files\OpenJDK\jdk-20.0.2),而非内部的jre子文件夹——部分安装包会自动生成独立JRE,但IDEA需要完整JDK才能加载核心类。 - 验证JDK完整性:手动检查JDK目录下的
lib/modules(模块化JDK的核心包)是否存在,若缺失则重新下载官方OpenJDK安装包,避免使用第三方修改版或损坏的安装文件。
修正项目与依赖配置
- 统一模块SDK版本:在
Project Structure > Project Settings > Modules中,逐一确认每个模块的Module SDK都选择了OpenJDK 20,防止部分模块误用其他JDK版本导致类加载冲突。 - 锁定Maven编译JDK版本:在项目
pom.xml中添加以下配置,强制Maven使用指定JDK编译:
执行<properties> <maven.compiler.source>20</maven.compiler.source> <maven.compiler.target>20</maven.compiler.target> <maven.compiler.release>20</maven.compiler.release> </properties>mvn clean install重新构建项目,覆盖旧的编译产物。
调整测试运行配置
- 检查测试配置的JRE:打开
Run > Edit Configurations,找到对应的测试配置,在JRE下拉框中选择OpenJDK 20.0.2,避免默认使用系统JRE或错误的JDK版本。 - 禁用自定义类路径:如果测试配置中手动添加了类路径条目,暂时全部移除,仅保留
Use classpath of module选项,确保核心类加载路径由IDEA自动管理。
深度重置环境
- 删除IDEA系统缓存:关闭IDEA后,手动删除对应系统的缓存目录:
- Windows:
C:\Users\<你的用户名>\.IntelliJIdea2023.2\system - macOS:
~/Library/Caches/JetBrains/IntelliJIdea2023.2 - Linux:
~/.cache/JetBrains/IntelliJIdea2023.2
重启IDEA后重新打开项目,让IDEA重新生成缓存。
- Windows:
- 重新导入项目:将当前项目从IDEA中移除,通过
File > New > Project from Existing Sources重新导入,导入过程中指定OpenJDK 20为项目SDK,避免旧配置残留。
内容的提问来源于stack exchange,提问作者AlexKBG
相关产品推荐
相关产品推荐

