跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

IntelliJ IDEA 切换 JDK 版本完整教程

在 IntelliJ IDEA 中切换 JDK 版本的完整流程,包括全局默认 JDK 设置、模块 SDK 配置以及 Maven 项目的 pom.xml 同步修改。同时提供了通过界面和代码验证 JDK 版本的方法,并总结了常见报错及解决方案,帮助用户顺利完成环境升级或降级。

星河入梦发布于 2026/3/29更新于 2026/10/24115 浏览

IntelliJ IDEA 切换 JDK 版本完整教程

在 Java 开发中,经常需要根据项目需求切换不同的 JDK 版本。本文介绍如何在 IntelliJ IDEA 中完成 JDK 版本的切换与配置。

一、设置全局默认 JDK

若未打开项目,启动界面点击「文件 → 新项目设置 → 新项目的结构」;若已打开项目,点击「文件 → 项目结构」。

  1. 在左侧选择「平台设置 → SDK」。
  2. 点击右上角「+」号,选择「从磁盘添加 JDK...」。
  3. 找到目标 JDK 根目录(如 C:\jdk\jdk21),点击「确定」。
  4. 确认 IDEA 自动识别的版本,点击「应用」。

IDEA 项目结构设置

随后在「项目设置 → 项目」中:

  1. 右侧「SDK」选择刚添加的版本。
  2. 「语言级别」选择对应版本(建议与 JDK 一致)。
  3. 点击「确定」保存。

最后检查模块配置:

  1. 左侧选择「模块」,选中项目模块。
  2. 切换到「依赖」标签页。
  3. 在「模块 SDK」下拉框中选择目标 JDK 版本。

该方式会修改 IDEA 的配置,后续新建的项目都会默认使用这个 JDK 版本。

二、Maven 项目额外配置

如果项目包含 pom.xml,需同步修改编译器配置:

<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>

修改完成后,点击 IDEA 右侧「Maven」面板的「刷新」按钮,让配置生效。

Maven 刷新配置

三、验证 JDK 是否更换成功

方法 1:通过 IDEA 界面验证

查看「项目结构」中的「项目 SDK」及模块 SDK 是否一致。

方法 2:通过代码验证

新建测试类运行以下代码:

public class JdkVersionTest {
    public static void main(String[] args) {
        String javaVersion = System.getProperty("java.version");
        String javaHome = System.getProperty("java.home");
        System.out.println("当前 JDK 版本:" + javaVersion);
        System.out.println("当前 JDK 路径:" + javaHome);
    }
}

示例输出(JDK17):

当前 JDK 版本:17.0.9
当前 JDK 路径:D:\Java\jdk-17.0.9\jre

四、常见问题与解决方案

问题 1:添加 JDK 时提示「所选目录不是有效的 JDK 主目录」

原因:选择的路径不是 JDK 根目录(例如选到了 jdk-17.0.9\bin)。 解决:重新选择 JDK 的根目录(包含 bin、lib、jre 等文件夹的目录)。

问题 2:项目编译报错「java: 不支持发行版本 XX」

原因:项目 SDK、模块 SDK、语言级别三者版本不一致。 解决:统一三者为目标 JDK 版本。

SDK 配置详情

目录

  1. IntelliJ IDEA 切换 JDK 版本完整教程
  2. 一、设置全局默认 JDK
  3. 二、Maven 项目额外配置
  4. 三、验证 JDK 是否更换成功
  5. 方法 1:通过 IDEA 界面验证
  6. 方法 2:通过代码验证
  7. 四、常见问题与解决方案
  8. 问题 1:添加 JDK 时提示「所选目录不是有效的 JDK 主目录」
  9. 问题 2:项目编译报错「java: 不支持发行版本 XX」

更多推荐文章

查看全部
  • Linux 常用开发工具指南:软件包管理与 Vim 编辑器
  • LLaMA 大模型 LoRA 微调实践与部署指南
  • node-llama-cpp 错误处理与调试:解决本地 AI 开发常见问题
  • 前端函数防抖原理与实战实现
  • 开源语言大模型的核心价值与未来发展趋势
  • 基于 Qwen Image 的儿童专属 AI 绘画工具实战
  • Vue3 + TypeScript:Promise<string> 转 string 类型错误解析与异步处理
  • OpenPilot 开源自动驾驶系统移植与 L2 辅助驾驶开发指南
  • 攻防世界 Web 题解:PHP 弱类型与伪协议漏洞利用
  • 三步优化 AI 生成前端 UI:配色与风格控制实战
  • 基于阿里云ASR的AI电销机器人源码解析与部署指南
  • C# 开发系列教程
  • GitHub Copilot 插件无模型选项?通常是 VSCode 版本过低导致
  • Coze 工作流:智能体自动化任务执行与分类解析
  • Jenkins 自动化部署教程
  • 互联网大厂职业成长路径与 Android 技术进阶指南
  • OpenClaw 系列 AI Agent 选型指南与对比分析
  • VR + 具身智能 + 人形机器人:通往现实世界的智能接口
  • LogicFlow 前端流程图编辑框架实战指南
  • 2026 年编程语言排行:Python 稳居榜首,Rust 强势崛起

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online