Eclipse启动提示“No Java virtual machine was found”或JRE System Library显示unbound,说明未正确配置外部JDK;需先验证java -version和javac -version可用,再在Preferences→Java→Installed JREs中手动添加JDK根目录,最后为项目指定JRE。
Eclipse 启动时提示 “No Java virtual machine was found” 或新建项目时 JRE System Library 显示 unbound,说明 Eclipse 没有正确识别或绑定已安装的 JDK —— 这不是 Eclipse 自带 Java,它必须依赖外部 JDK 运行和编译。
别急着打开 Eclipse,先验证 JDK 是否真装好了、且能被命令行调用:
java -version 和 javac -version,两者都应输出版本号(如 17.0.1),否则 Eclipse 无法编译 Java 代码where java(Windows)或 which java(macOS/Linux),得到路径后,往上推一级目录就是 JDK 根目录(例如 C:\Program Files\Java\jdk-17.0.1 或 /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home)javac,必须是完整 JDK这是最常漏掉的一步:Eclipse 不会自动扫描系统 JDK,需手动注册。
Java → Installed JREs
Add... → 选择 Standard VM → 点击 Next
JRE home 栏点击 Directory...,选中你刚才确认的 JDK 根目录(不是 bin,不是 jre 子目录)Finish,勾选刚添加的条目使其生效JRE System Library 在项目中仍可能显示 unbound —— 这是正常现象,下一步解决全局配置只告诉 Eclipse “有哪些 JDK 可用”,每个项目还需明确指定用哪一个。
Java Build Path → 切到 Libraries 标签页JRE System Library,选中它 → 点击右侧 Remove
Add Library... → 选 JRE System Library → Next
Workspace
default JRE(推荐)或 Alternate JRE(若需多版本切换)→ Finish
pom.xml 中的 maven-compiler-plugin 版本与 source/target 是否匹配 JDK 版本,否则编译报错但错误提示不指向 JRE 绑定问题很多“绑定了却还是报错”的情况,根源不在界面操作,而在路径或权限细节:
Program Files),Eclipse 旧版本(C:\jdk17)/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home,不能只选到 openjdk.jdk 层就停-vm 参数,会强制覆盖 Preferences 设置 —— 检查该文件是否包含类似 -vm\nC:\wrong\path\bin\javaw.exe 的行arch mismatch 类字样真正卡住的地方往往不是“怎么点菜单”,而是 JDK 路径是否干净、eclipse.ini 是否被悄悄改过、以及项目性质(普通 Java / Maven / Gradle)对 JRE 绑定的隐式要求不同。动手前先跑通 javac -version,比在 Eclipse 里反复刷新 Properties 有用得多。