IntelliJ IDEA 和 Eclipse 运行 Java 必须手动配置 JDK 17+(非 JRE),需在项目结构或首选项中指定 JDK 根目录(含 lib/modules),并验证 java/javac 版本、重启 IDE、测试 main 方法及检查构建工具版本一致性。

IntelliJ IDEA 和 Eclipse 都能跑 Java,但默认不带 JDK,必须手动关联——否则新建项目会报 Cannot resolve symbol 'String' 或创建时卡在 “No SDK specified”。
确认并安装 JDK(不是 JRE)
IDE 本身不附带 Java 运行环境,必须先装好 JDK 17+(推荐 LTS 版本)。Windows/macOS/Linux 均需验证终端命令:
java -version javac -version
若提示 command not found,说明系统 PATH 未配置,或只装了 JRE。常见错误包括:
- 下载页面误选
JRE而非JDK(如 Oracle 官网、Adoptium/Temurin 页面要找 “JDK” 标签) - macOS 用 Homebrew 装了
openjdk,但 IntelliJ 默认不自动识别其路径(路径类似/opt/homebrew/opt/openjdk/bin/java,实际 SDK 根目录是/opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home) - Windows 用户装了多个 JDK(如 Zulu、Microsoft Build of OpenJDK、Oracle),IDE 可能默认选错版本(尤其旧版 Eclipse 偏好 JRE 路径)
IntelliJ IDEA 中添加 JDK(Project Structure 方式)
不是靠“设置 → 语言级别”改,而是必须进全局或项目级 SDK 配置。关键路径:
立即学习“Java免费学习笔记(深入)”;
- 新建项目前:启动器界面 →
New Project→ 左侧选Java→ 右侧Project SDK下拉框点Add JDK... - 已有项目:菜单栏
File → Project Structure → Project → Project SDK→New → JDK→ 选择 JDK 解压根目录(如C:\Program Files\Java\jdk-17.0.2或/Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home) - 别选
jre子目录,也别选bin/java文件——必须指向含lib/rt.jar(或lib/modules)的根目录
Eclipse 中配置 JRE/JDK(Preference 与 Build Path 分离)
Eclipse 把运行环境(JRE)和编译环境(Compiler compliance)分开管,容易混淆:
- 全局默认 JRE:菜单
Window → Preferences → Java → Installed JREs→ 点Add...→ 选 Standard VM →Directory浏览到 JDK 根目录(同 IDEA 要求)→ 勾选启用 - 单个项目 JDK 版本:右键项目 →
Properties → Java Build Path → Libraries→ 展开JRE System Library→Remove→Add Library → JRE System Library → Alternate JRE→ 选已配置的 JDK - 编译级别独立控制:同一
Properties窗口中 →Java Compiler→ 勾选Enable project specific settings→ 设Compiler compliance level(如 17),它必须 ≤ 已选 JRE 的主版本号,否则提示Unsupported class file major version
常见连带问题与验证动作
配完不等于能用。务必做三件事:
- 重启 IDE(尤其 Eclipse 修改
Installed JREs后不重启,新项目仍可能沿用旧缓存) - 新建一个
main方法,写System.out.println("OK");,看是否语法高亮、无红色波浪线、能右键Run - 检查 Maven/Gradle 项目是否覆盖了 JDK 设置:例如
pom.xml中maven-compiler-plugin的和必须与 IDE 所设一致,否则编译输出 class 版本冲突,运行时报java.lang.UnsupportedClassVersionError
最易被忽略的是:IDE 配置 JDK 是“开发态”,而运行时真正加载哪个 java 命令,取决于终端 PATH 或脚本中显式调用路径——调试时看到的 Process finished with exit code 0 不代表部署后也能跑通。










