Eclipse 中必须配置 JDK(而非 JRE)才能正常编译调试及使用新语法;需在 Installed JREs 中添加 JDK 根路径,并在项目级设置 Java Build Path、Compiler Compliance 和 Project Facets 保持版本一致。
在 Eclipse 中设置 Java 运行环境,核心是让 IDE 正确识别 JDK(不是仅 JRE),否则无法编译、调试、使用新语法(如 
var、record)、或触发 Maven/Gradle 的源码级别推断。
Eclipse 依赖 JDK 提供的 javac、javadoc、jdk.jshell 等工具。只装 JRE 会导致:Build path specifies execution environment 'JavaSE-17' but no JRE is compatible 类错误。
java -version 和 javac -version,输出版本号必须一致且非空Adoptium (Eclipse Temurin) 或 Oracle JDK
brew install openjdk,需记下实际路径(如 /opt/homebrew/opt/openjdk/libexec/openjdk.jdk)这是全局级 JDK 注册入口,所有项目默认从中选择运行时。路径:Preferences → Java → Installed JREs(macOS 是 Eclipse → Preferences)。
Add… → 选 Standard VM → Next
JRE home 必须指向 JDK 根目录(例如 /usr/lib/jvm/temurin-17-jdk-amd64,不是 .../jre 子目录)即使全局 JRE 已配好,项目仍可能因 Java Build Path 或 Project Facets 设置错乱而报红,典型现象:The method XXX is undefined for the type YYY(实为用了高版本 API 却设成低版本编译)。
Properties → Java Build Path → Libraries:展开 JRE System Library,确认其版本与预期一致;若显示 Execution Environment,点 Edit… 切换到对应 JDKProperties → Java Compiler:勾选 Enable project specific settings,把 Compiler compliance level 设为与 JDK 匹配(如 JDK 17 → 选 17)Properties → Project Facets 中 Java 版本是否同步(例如 Facet Java 17 + Compiler 17 + JRE Library 17)配置看似完成,但以下情况仍会导致运行失败:
pom.xml 中是否有 maven-compiler-plugin 显式指定 source/target,它会覆盖 Eclipse 的 compiler settingNew Java Project → JRE 下拉框中手动确认Run Configurations → Common → Encoding 未设为 UTF-8
快速验证是否生效:新建类,写 var s = "hello";(Java 10+ 特性),不报错即说明 JDK 10+ 已正确加载并启用局部变量类型推断。