
本文详解在 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)。
✅ 第一步:确认是否真的安装了 JDK(而非仅 JRE)
在终端执行以下命令:
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 环境变量),因此依赖环境变量不是首选解法。
✅ 第二步:在 IntelliJ 中手动配置 JDK
- 启动 IntelliJ IDEA(确保是通过桌面图标或 jetbrains-toolbox 启动,而非终端 idea.sh —— 后者才继承 .bashrc);
- 在欢迎界面点击 New Project → 左侧选择 Java;
- 在右侧 Project SDK 下拉框中,点击 Add JDK… → Add JDK…;
- 浏览路径:Ubuntu 默认 JDK 安装路径通常为
/usr/lib/jvm/java-17-openjdk-amd64(Intel/AMD) 或
/usr/lib/jvm/java-17-openjdk-arm64(ARM);
也可使用命令快速定位:sudo update-alternatives --config java # 查看 java 路径,去掉末尾 `/bin/java`
- 选中该目录后点击 OK,IDE 将自动识别并加载 JDK(含 javac, javadoc, jdb 等工具)。
✅ 第三步:验证与补充设置(可选但推荐)
- 创建新 Java 项目后,进入 File → Project Structure (Ctrl+Alt+Shift+S) → Project 选项卡,确认 Project SDK 和 Project language level 已正确设置;
- 若需全局默认 SDK:File → New Projects Settings → Structure for New Projects → 设置默认 Project SDK;
- 不建议强行修改 .bashrc 中的 JAVA_HOME 并期望 IntelliJ 读取——因其桌面启动方式不加载 shell 配置。如确需环境变量(如 Maven 插件),可在 Help → Edit Custom VM Options 或通过 JetBrains Toolbox 配置启动环境。
✅ 总结:核心误区是混淆 JRE 与 JDK。IntelliJ 是开发工具,必须依赖 JDK 提供的编译器和调试工具。只要安装 openjdk-*-jdk 包并手动在 IDE 中指向其根目录(非 bin/ 子目录),即可立即解决识别问题。无需重启系统,也不必依赖环境变量。










