IDE识别不到JDK最常见原因是配置路径与实际安装路径不一致或JAVA_HOME指向JRE而非JDK;需检查JAVA_HOME是否含bin/javac,IDE中手动添加JDK,确保Eclipse的Installed JREs列表含JDK并设为默认,VS Code配置java.home为JDK根目录,统一java/javac版本,Maven项目需重载pom.xml。
最常见原因是 IDE 的 JDK 配置路径和系统实际安装路径不一致,或环境变量 JAVA_HOME 指向了 JRE 而非 JDK。IntelliJ IDEA、Eclipse 等工具默认不读取系统 PATH,而是依赖显式配置或 JAVA_HOME。
JAVA_HOME 是否指向包含 bin/javac 的目录(如 /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home 或 C:\Program Files\Java\jdk-21),而不是 jre 子目录+ 手动添加 JDK,不要依赖 “Download JDK” 自动选项(它可能下载错误版本)open -a "IntelliJ IDEA.app" 启动以复用 JAVA_HOME
这是 Eclipse 的项目级 JDK 配置与工作区默认 JDK 不同步导致的。即使单个文件能编译,新建项目仍可能 fallback 到内置 JRE。
Compiler compliance level 与所选 JDK 版本一致(如 JDK 17 对应 17)JRE System Library,点击 Edit… → 选择 “Workspace default JRE” 或指定具体 JD
KVS Code 不自带 Java 构建能力,完全依赖 java.home 配置和后台 Java Language Server(JLS)启动状态。常见表现为“Loading…” 卡住、无代码补全、Ctrl+Click 失效。
java.home,设为 JDK 根目录(不是 bin 子目录),例如:/opt/java/jdk-21
lib/tools.jar(JDK 9+ 已移除,但部分旧插件仍会尝试读取——此时需升级插件至 v0.90+)Ctrl+Shift+P),运行 Java: Clean the Java language server workspace,重启窗口java -version 和 javac -version 输出版本不一致,说明 PATH 混用了不同 JDK,需统一java -version javac -version
本质是 IDE 没有正确解析 pom.xml 或未触发 Maven import。IDE 内置的构建逻辑和命令行 mvn compile 是两套流程,不能互相替代。
pom.xml → Maven → Reload project;或开启自动导入(Settings → Build → Build Tools → Maven → Importing → Import Maven projects automatically)Force Updates of Snapshots/Releases)~/.m2/settings.xml 中的 路径是否被 IDE 识别;某些公司镜像配置含特殊认证,IDE 可能未加载对应凭证