大家好,我是 lazy,一名大二科班学生
很多新手在导入 Java 或 Spring Boot 项目时,IDEA 里会出现代码爆红、运行按钮灰色、编译失败、Project SDK is not defined 等问题。其实这类问题大多数不是代码错了,而是 IDEA 没有配置好 JDK 或项目 SDK。本文从现象、原因、配置步骤到常见报错,一次性把排查思路整理清楚。
一、常见问题现象
项目刚导入 IDEA 时,如果 JDK 或 SDK 没配置好,通常会出现下面几类情况:
**•**Java 文件大面积爆红,String、SpringApplication、@SpringBootApplication 等关键字或类无法识别。
**•**右上角运行按钮是灰色,或者点击运行时提示没有可用的 JDK。
**•**控制台出现 Project SDK is not defined、No JDK specified for module、Cannot find JDK home directory 等提示。
**•**Maven 或 Gradle 刷新失败,提示 invalid source release、Unsupported class file major version 等版本相关错误。

图2 常见 SDK / JDK 报错提示整理
二、先分清 JDK、JRE、SDK 是什么
在 IDEA 里,SDK 可以理解成"开发这个项目需要用到的一整套工具"。对于 Java 项目来说,这个 SDK 基本上就是 JDK。JDK 里面包含 Java 编译器 javac、运行环境以及开发相关工具;JRE 主要用于运行 Java 程序,不适合单独拿来做 Java 项目开发。
所以遇到 IDEA 项目 SDK 报错时,重点不是找 JRE,而是给项目配置一个完整的 JDK。常见版本有 JDK 8、JDK 17、JDK 21。Spring Boot 2.x 项目常见用 JDK 8 或 11,Spring Boot 3.x 项目通常需要 JDK 17 及以上。
三、方法一:配置 Project SDK
Project SDK 是整个项目默认使用的 JDK。大多数项目只要这里配置正确,代码爆红和运行失败的问题就能解决一大半。
**•**打开 IDEA 项目后,点击顶部菜单 File。
**•**选择 Project Structure,也可以直接按 Ctrl + Alt + Shift + S。
**•**进入 Project Settings -> Project。
**•**在 SDK 位置选择已经安装好的 JDK,例如 JDK 17。
**•**Language level 建议和 JDK 版本保持一致,例如 JDK 17 就选择 17。
**•**点击 Apply,再点击 OK。

图3 Project SDK 配置位置示意图
四、如果没有 JDK,怎么添加?
如果 SDK 下拉框里没有可选的 JDK,说明 IDEA 还没有识别到本机的 JDK。这个时候有两种方式:
第一种是 Add JDK from disk,适合电脑里已经安装过 JDK 的情况。Windows 下常见路径是:
C:\Program Files\Java\jdk-17
D:\Java\jdk-21
第二种是 Download JDK,适合新电脑或者不知道去哪里下载 JDK 的情况。IDEA 会让你选择 JDK 版本、发行商和安装路径,然后自动下载。

图4 添加 JDK 的两种方式
五、方法二:检查 Module SDK
有些项目配置了 Project SDK 之后还是爆红,原因可能是模块自己的 SDK 没有继承项目 SDK。尤其是多模块项目、Maven 聚合项目、从别人电脑拷过来的项目,经常会出现这种情况。
**•**按 Ctrl + Alt + Shift + S 打开 Project Structure。
**•**进入 Project Settings -> Modules。
**•**选中当前模块,打开 Dependencies。
**•**Module SDK 选择 Project SDK,或者选择和 Project SDK 一样的 JDK。
**•**保存后等待 IDEA 重新索引。

图5 Module SDK 建议选择 Project SDK
六、方法三:检查 Maven 或 Gradle 使用的 JDK
很多 Spring Boot 项目是 Maven 或 Gradle 项目。Project SDK 配好了,不代表 Maven 或 Gradle 一定用的是同一个 JDK。如果构建工具使用的 JDK 版本不对,也会出现编译失败。
Maven 项目可以检查:Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Importing -> JDK for importer。
Gradle 项目可以检查:Settings -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM。

图6 Maven / Gradle 构建工具 JDK 检查位置
七、方法四:用命令行确认电脑里的 JDK 是否正常
如果 IDEA 里怎么选都不对,可以先在 Windows PowerShell 或 CMD 里检查本机 JDK 是否可用。
java -version
javac -version
where java
如果 java -version 有输出,但是 javac -version 没有输出,通常说明你可能只配置了 JRE,或者环境变量没有指向完整 JDK。正常情况下,java 和 javac 都应该能看到版本信息。

图7 Windows 命令行检查 JDK 是否可用
八、常见报错和解决方法
下面整理几个新手最常遇到的报错,可以直接对照排查。
|--------------------------------------|--------------------|------------------------------------------------|
| 报错/现象 | 常见原因 | 解决方法 |
| Project SDK is not defined | 项目没有配置 SDK | File -> Project Structure -> Project 中选择 JDK |
| No JDK specified for module | 模块没有配置 SDK | Modules -> Dependencies 中选择 Project SDK |
| Cannot find JDK home directory | JDK 路径失效或被删除 | 重新选择 JDK 安装目录,或者 Download JDK |
| invalid source release: 17 | 当前 JDK 版本低于项目要求 | 把 Project SDK、Maven/Gradle JDK 升到 17 或以上 |
| 不支持发行版本 21 | 编译 JDK 和项目语言级别不一致 | 统一 JDK 版本、Language level 和构建配置 |
| Unsupported class file major version | 依赖或项目使用了更高 Java 版本 | 升级 JDK,或降低依赖/项目 Java 版本 |

图8 常见报错对应处理
九、推荐排查顺序
遇到 IDEA 项目 SDK 报错时,不建议一上来就删除项目或重装 IDEA,可以按照下面顺序排查:
**•**第一步:确认电脑是否安装完整 JDK,命令行执行 java -version 和 javac -version。
**•**第二步:配置 Project SDK,路径是 File -> Project Structure -> Project。
**•**第三步:检查 Module SDK,尽量选择 Project SDK。
**•**第四步:如果是 Maven 或 Gradle 项目,检查构建工具使用的 JDK。
**•**第五步:确认 JDK 版本和项目要求一致,例如 Spring Boot 3.x 通常需要 JDK 17 及以上。
**•**第六步:重新 Reload Maven/Gradle,必要时重启 IDEA。

图9 IDEA JDK / SDK 报错完整排查流程
十、总结
IDEA 配置 JDK 的核心思路其实很简单:先保证电脑里有完整 JDK,再让 IDEA 的 Project SDK 指向这个 JDK,接着检查 Module SDK 是否继承项目 SDK,最后再检查 Maven 或 Gradle 使用的 JDK 是否一致。
如果只是普通 Java 项目,重点看 Project SDK 和 Module SDK;如果是 Spring Boot 项目,还要注意 Maven 或 Gradle 的 JDK 版本。只要这几个地方保持一致,大部分 SDK 报错、代码爆红、运行按钮灰色、编译版本不支持的问题都能解决。
参考资料
**•**JetBrains IntelliJ IDEA 官方文档:SDKs。
**•**JetBrains IntelliJ IDEA 官方文档:Project structure settings。
**•**JetBrains IntelliJ IDEA 官方文档:Gradle JVM selection。
**•**JetBrains IntelliJ IDEA 官方文档:Maven Importing。