Eclipse需在Preferences→Java→Installed JREs中添加JDK根目录(非jre子目录),再通过项目Properties→Java Build Path指定JRE,否则编译报错;验证需运行含var的代码并检查Console中java.version。

确认Eclipse是否已识别系统JDK
Eclipse 启动时默认会读取系统 JAVA_HOME 环境变量和 PATH 中的 java 可执行文件,但仅靠这个不足以让项目编译——它还需要在 IDE 内部显式配置 JRE System Library。如果你新建 Java 项目时报错 “The project cannot be built until build path errors are resolved”,或类库中看不到 rt.jar / modules.java.base,大概率是没配好 JDK。
在Eclipse中添加JDK(Windows/macOS通用)
关键路径是:打开 Preferences → Java → Installed JREs,不是项目属性里的 Build Path(那是后续步骤)。这里添加的是全局可用的 JDK 实例,不是单个项目绑定。
- 点击
Add...→ 选择Standard VM→Next -
JRE home必须指向 JDK 安装根目录(例如:C:\Program Files\Java\jdk-17.0.2或/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home),不能选到jre/子目录,否则缺少javac和src.zip -
JRE name会自动填充,建议保留默认(如jdk-17.0.2),避免空格或特殊字符 - 勾选该条目使其生效(带对勾),再点
Finish
为项目指定JDK版本(Project-specific JRE)
即使全局 JDK 已添加,每个项目仍可能用错 JRE:右键项目 → Properties → Java Build Path → Libraries 标签页里,展开 JRE System Library,如果显示 Execution environment: JavaSE-11 却实际想用 JDK 17,说明项目未继承全局设置。
- 选中
JRE System Library→ 点击Remove - 点击
Add Library... → JRE System Library → Next - 选
Workspace default JRE(推荐)或Alternate JRE(手动选你刚添加的jdk-17.0.2) - 确认后,刷新项目(
F5)并检查 Problems 视图是否还有 JRE 相关警告
常见失败原因与验证方式
最常被忽略的是 JDK 路径权限和版本兼容性。Eclipse 2022-06 及之后版本不再支持 JDK 8,而 Eclipse 2020-03 对 JDK 16+ 的模块系统支持不完整。别只看“添加成功”,要验证能否真正编译运行。
立即学习“Java免费学习笔记(深入)”;
- 新建一个
HelloWorld.java,写入var s = "test";(使用 var 需 JDK 10+),若报错Cannot infer type for local variable,说明项目实际用的仍是旧 JRE - 打开
Console视图,运行程序时查看第一行输出的java.version是否匹配预期(如17.0.2) - 如果添加 JDK 后列表为空或报错
Invalid JRE home,检查路径末尾是否有斜杠、是否粘贴了多余空格、是否误选了 JRE(非 JDK)安装路径 - macOS 用户注意:通过 Homebrew 安装的 OpenJDK 路径通常是
/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home,不是/usr/libexec/java_home输出的软链路径
真正起作用的永远是项目 Build Path 里那个 JRE System Library 的具体路径,而不是你“以为”它该用哪个。每次换 JDK 或迁移工作空间,都得重新核对这一层。










