本文详解在 ubuntu 22.04 系统中 intellij idea 无法自动检测已安装 jdk 的常见原因及实操解决方法,重点区分 jre 与 jdk、正确配置项目 sdk,并提供终端验证与 ide 手动指定路径的完整流程。
在 Ubuntu 22.04 上刚迁移至 IntelliJ IDEA 时,许多用户会遇到「IDE 显示无可用 JDK」的问题——即使终端中 java -version 能正常输出,IDE 却始终提示“Project SDK is not defined”或仅列出 JRE(如 OpenJRE)。这通常并非路径配置错误,而是根本未安装 JDK(Java Development Kit),而仅安装了 JRE(Java Runtime Environment)。
在终端执行以下命令:
java -version # 显示运行时版本(JRE 也能提供) javac -version # 关键!JDK 才包含编译器 javac which javac # 应返回类似 /usr/lib/jvm/.../bin/javac
若 javac -version 报错 command not found,说明系统中只有 JRE,必须安装 JDK:
# 推荐安装 OpenJDK 17(LTS,IntelliJ 官方推荐) sudo apt update sudo apt install openjdk-17-jdk # 验证安装 javac -version # 输出应为:javac 17.x.x
⚠️ 注意:openjdk-17-jre(仅运行时)≠ openjdk-17-jdk(含开发工具)。.bashrc 中设置 JAVA_HOME 对 IntelliJ 启动无效(IDE 启动不继承 shell 环境变量),因此依赖环境变量不是首选解法。
m/java-17-openjdk-arm64(ARM);sudo update-alternatives --config java # 查看 java 路径,去掉末尾 `/bin/java`
✅ 总结:核心误区是混淆 JRE 与 JDK。IntelliJ 是开发工具,必须依赖 JDK 提供的编译器和调试工具。只要安装 openjdk-*-jdk 包并手动在 IDE 中指向其根目录(非 bin/ 子目录),即可立即解决识别问题。无需重启系统,也不必依赖环境变量。