ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

JDK21与IDEA 2025全平台安装配置指南

2026/10/1 15:51:14 拓冰建站 浏览量
JDK21与IDEA 2025全平台安装配置指南 做 Java 开发的同学最近应该都有明显感觉2024 年还有人抱着 Java 8 不放到了 2025 年身边讨论 JDK21 的人越来越多IDE 也慢慢换到了 IntelliJ IDEA 2025 这个新版本。正好这几天帮同事处理了两台机器一台 Windows 本机一台刚初始化完的 Linux 服务器把 JDK21 和 idea2025 安装全流程走了一遍。这篇文章就围绕这件事展开讲清楚 JDK21 安装包怎么选、Windows 和 Linux 下环境变量怎么配、IDEA 2025 怎么和 JDK21 关联再把我实操中踩过的坑和排查思路一并整理出来。无论你是刚入门想照着抄作业还是老程序员准备升级开发环境这份记录都能给你一个完整的参考。1. 动手之前JDK21 和 IDEA 2025 到底是什么组合1.1 JDK21 到底带来了什么JDK21 是 Oracle 在 2023 年 9 月发布的长期支持版本LTS 意味着它能获得长时间的安全补丁和稳定性更新对于企业项目来说这是从 Java 8 或 Java 11 直接跳升的最佳目标版本。很多团队卡在 Java 8 不升本质原因是“不值得折腾”但只要仔细看过 JDK21 的更新列表这个顾虑基本会被打消。JDK21 里最值得关注的是虚拟线程这是 JEP 444 正式带来的功能。以前 Java 处理高并发靠线程池线程多了之后上下文切换开销巨大而虚拟线程由 JVM 调度一个平台线程可以承载成千上万个虚拟线程写并发代码就像写顺序代码一样简单性能还比传统方式好不少。我自己的一个线上消息处理程序用 JDK21 的虚拟线程重写后吞吐量提升非常明显而代码改动量却小得惊人。除了虚拟线程记录模式Record Patterns和 switch 模式匹配也让代码简洁了很多。以前要写一堆 instanceof 判断和强制类型转换现在一个模式匹配表达式就能解决。另外JDK21 还引入了分代 ZGC把 ZGC 的停顿时间进一步压低大堆内存应用也能实现极低延迟。这些特性单独看可能觉得没什么但组合在一起就是让 Java 这门语言重新变得性感。需要注意一点字符串模板String Templates在 JDK21 中还是预览特性生产环境使用要谨慎别把预览 API 当正式 API 写到长期维护的代码里。对于像我这种 Windows 和 Linux 两套环境都要维护的人JDK21 还有一个隐藏好处它已经是比较新的 LTS社区里针对它的坑和解决方案已经沉淀得足够多。遇到环境问题搜答案不会像当年 Java 9 时代那样连个靠谱对照都没处找。1.2 为什么选择 IDEA 2025 搭配 JDK21IntelliJ IDEA 2025 这个版本名字就直接对应年份。它在启动速度、内存占用和 JDK 识别上做了不少优化。尤其是对新版本 JDK 的支持IDEA 2025 从代码提示到编译运行都做了针对性适配比如虚拟线程相关 API 的补全、新语法特性的高亮检查老版本 IDEA 打开 JDK21 项目时偶尔会出现“误报错”或者提示不完整的问题这些问题在新版本上基本绝迹。版本组合上我推荐 Ultimate 和 Community 两种选择个人学习、写小型项目Community 社区版完全够用免费且无功能限制商业项目开发需要 Spring、数据库工具这类高级功能可以走 JetBrains 官方订阅或试用。IDEA 启动了正版授权体系打开软件后用 JetBrains 账号登录即可公司有 License Server 或者订阅的话在 Settings 里配置一下就能激活。注意千万不要到处找破解补丁和注册码一个是安全风险极大另一个是新版 IDEA 对激活信息的校验越来越严格出了问题很难排查不如正规渠道来得省心。另外一个实用建议是安装 IDEA 2025 前先把 JDK21 搞定因为 IDEA 本身虽然内置了 JBRJetBrains Runtime但新建项目时如果没有外部 JDK你只能选择 IDEA 自带的版本那并不是完整的 JDK 开发环境。先把 JDK21 配好IDEA 里指定一下整个链路就通了。2. 下载准备JDK21 安装包怎么选、去哪下2.1 Windows 下选择哪个 JDK 发行版很多新手上来就搜“jdk21 下载”结果在五花八门的网站里迷了路。其实 JDK 的发行版远不止 Oracle 一家选哪个取决于你的用途。如果是做 Java 标准开发我建议优先考虑这几个主流发行版Oracle JDK 是官方原版商业使用有许可限制但个人开发、学习和很多非商业场景都能用优点是和官方文档一致版本更新及时。OpenJDK 是开源的参考实现官方构建版本一般生产上很多人不直接用。Eclipse Temurin 是 Adoptium 社区维护的 OpenJDK 发行版完全开源、免费可以作为 Oracle JDK 的替代品尤其适合追求免费和稳定的团队。Amazon Corretto 是 AWS 维护的发行版兼容性很好云上部署顺理成章。我个人的选择逻辑很简单如果是个人电脑上学习、实验或者给公司做开发直接下载 Oracle JDK 21省事如果是 Linux 服务器生产环境想完全避开许可问题用 Eclipse Temurin 或 Corretto 都行下载地址分别在 adoptium.net 和 aws.amazon.com/corretto这些站点都是正规来源不要随手在个别博客里挂的私链下载安装包。下载时还要留意架构Windows 上绝大多数是 x64如果你的笔记本是高通 ARM 芯片就选 aarch64 版本。这个细节很关键选错架构哪怕安装成功也容易出现“找不到主类”这类跑不起来的诡异问题。下载完成后我建议顺手校验一下文件哈希值官方页面会给出 SHA256 校验码在 PowerShell 里执行 Get-FileHash 命令计算本地安装包的哈希值比对一致再安装能挡住至少九成的“下载文件损坏”问题。2.2 Linux 服务器下载 JDK21 安装包Linux 新服务器装 JDK21很多人第一反应是用 apt install openjdk-21-jdk 或者 yum 安装。这个思路没错但很多刚初始化的服务器上系统源里的 openjdk 版本比较旧或者根本没有 openjdk-21 这个包。即使有你想装 Oracle 官方 JDK21 也不方便从源里装。所以更通用的方案是手动下载 tar.gz 包再解压。以 x64 Linux 为例我一般是先下载 jdk-21_linux-x64_bin.tar.gz 到服务器 /tmp 目录然后用 tar 解压到 /opt 下。手动安装的优点很明显版本完全可控装到哪个目录你说了算环境变量也清清楚楚。缺点就是你得手动维护但这对我来说并不是麻烦反而让服务器的 Java 环境更透明。在 Linux 上我更推荐 Temurin 发行版因为它的 tar.gz 包对纯命令行环境非常友好。下载命令大概长这样wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_x64_linux_hotspot_21.0.3_9.tar.gz注意链接里的 %2B 是 号的编码在 wget 里直接写加号也可以但写全链接更保险。下载完以后执行sha256sum OpenJDK21U-jdk_x64_linux_hotspot_21.0.3_9.tar.gz把输出的哈希值和官网提供的校验码比一比一致后再解压。这一步没人强迫你做但我见过太多人在服务器上装了损坏的 JDK然后折腾半天才发现是安装包本身有问题。因为这些网络下载经常中断wget 默认断点续传也可能留下一个看起来完整实际截断的文件。3. Windows 环境安装 JDK21 与配置环境变量3.1 安装包执行与目录规划Windows 下 Oracle JDK21 的安装包是一个 exe 文件双击运行建议不要直接默认路径而是把安装目录改成一个简洁、无空格、无中文的路径。我习惯装到 C:\Java\jdk-21 或者 D:\Java\jdk-21。为什么这么讲究因为路径里有空格和中文在 IDEA 的构建工具、Maven 插件以及一些命令行脚本里很容易出现路径解析错误特别是国内用户系统用户名经常是中文默认安装路径很容易踩中这个雷。JDK21 的安装过程和老版本不太一样安装包里不会单独出现“公共 JRE”选项因为从 JDK 9 以后JRE 就不再单独发布了而是集成在 JDK 里。安装过程中你只需要把“源代码”、“开发工具”这些组件全部勾上一路确认即可。还有一个细节安装完成后系统里可能已经有旧版本 JDKOracle 安装程序会询问你“是否注册 Java 的自动更新”建议取消因为开发机上你更希望用哪个版本完全是可控的自动更新反而会把环境搞乱。装完以后先别急着打开 IDEA立刻去做环境变量。很多人以为装完就完事了实际上如果没有配置环境变量IDEA 里虽然能识别到 JDK但命令行里的 java、javac 全都会报“不是内部或外部命令”后面排查起来非常头疼。3.2 JAVA_HOME 和 PATH 怎么配才标准在 Windows 上配置环境变量我推荐在“系统变量”里操作而不是“用户变量”。原因很简单系统变量对所有用户生效并且能避免一些工具读取 getUserHome 路径时出现不一致问题。具体流程是右键“此电脑”选“属性”点击“高级系统设置”进到“环境变量”窗口然后在系统变量区域点击“新建”变量名写 JAVA_HOME变量值写你的 JDK 安装路径比如 C:\Java\jdk-21。接下来编辑 Path 变量在变量值的末尾添加一行 %JAVA_HOME%\bin注意是追加不要把原有的 System32 那些条目删掉。这里用相对引用而不是写死绝对路径是怕以后升级 JDK 版本时到处改 Path。用 %JAVA_HOME%\bin 只需要改 JAVA_HOME 一个地方所有引用自动生效。关于 CLASSPATH我只想说一句新版本的 JDK没有人再去手动配置 classpath 了JVM 会自己找标准库你的项目依赖由 Maven/Gradle 管理所以千万别在网上抄那种老教程新建一个 CLASSPATH 变量指向 lib纯属给自己找麻烦。配置完环境变量后有一个最重要的动作关掉当前所有命令行窗口重新打开一个新的 CMD 或 PowerShell。不管是 CMD、PowerShell 还是 IDEA启动的那一刻都会读取环境变量快照之前已经打开的窗口不会自动拿到新的变量我见过太多人配好环境变量后顺手在旧窗口敲 java -version结果报错以为没配上反复折腾半天。这个问题无解只能重新打开窗口。3.3 验证安装到底看什么重新打开一个新的命令提示符窗口依次执行java -version javac -version正常情况下 java -version 会输出类似 openjdk version 21.0.3 或者 java version 21.0.3 以及一些运行环境信息。javac -version 则会输出 javac 21.0.3。这里有两个容易踩的坑第一个坑是如果你电脑里以前装过其他 JDK执行 java -version 显示的却不是 21那说明 PATH 里有一个更靠前的旧 JDK 路径把 Path 里旧 JDK 的条目删掉或者把 %JAVA_HOME%\bin 往前挪到最前面。第二个坑是执行到 javac 时提示“无法运行”但 java -version 正常这通常是你只装了 JRE 而不是完整 JDK。JDK21 安装包不会出现这种情况但如果你当初图省事装了 JRE就会遇到。我还习惯顺手验证一下 JAVA_HOME 是否被正确识别echo %JAVA_HOME%输出结果应该和你设置的路径完全一致多一个斜杠、少一个空格都会让后面的工具栽跟头。Windows 上环境变量配置完成IDEA 安装好后能自动检测到这个 JDK整个过程到这里就顺利贯通了。4. Linux 服务器安装 JDK21 与全局环境变量配置4.1 解压安装和目录约定Linux 新服务器安装 JDK21 的第一件事不是下载而是先确定目录结构。我习惯统一放在 /opt 下原因很简单/opt 本来就是存放第三方独立软件的规范路径权限也更清晰。服务器上如果有多个 JDK 版本还可以用 /opt/jdk-21 这样带版本号的目录一目了然。具体操作mkdir -p /opt/java tar -zxvf /tmp/jdk-21_linux-x64_bin.tar.gz -C /opt/java mv /opt/java/jdk-21.0.3 /opt/java/jdk-21解压完成后检查一下目录ls /opt/java/jdk-21/bin/java看到 bin/java 存在说明解压没问题。这里提醒一点如果服务器上内存比较紧张解压 tar.gz 是一个 CPU 密集操作不要一边解压一边跑大任务否则服务器可能卡顿看起来像死机。Linux 上还有一种更“正规”的安装方式用系统的 update-alternatives 来管理 JDK 版本。它能让你在系统里同时装多个 JDK需要切换时一条命令就能完成。我强烈建议服务器上尝试一下因为线上环境经常遇到“某个老应用只兼容 JDK11另一个新应用需要 JDK21”的情况靠手改环境变量切换很容易切混乱而 update-alternatives 就是为这个场景设计的。具体路径和方式我放在后面第 4.3 小节讲。4.2 Linux 环境变量配置的最佳实践很多博客会叫你直接编辑 /etc/profile把 JAVA_HOME 塞进去。这个做法能用但不够优雅因为 /etc/profile 是全局配置的“主入口”升级系统、安装其他软件时可能会被覆盖或冲突。我推荐的方案是使用 /etc/profile.d/ 目录下的独立脚本文件。在 /etc/profile.d/ 下新建一个 jdk21.sh写入以下内容export JAVA_HOME/opt/java/jdk-21 export PATH$JAVA_HOME/bin:$PATH保存后重新登录服务器或者执行 source /etc/profile 让脚本生效。这个方式的优势在于/etc/profile 启动时会自动加载 /etc/profile.d/ 下所有 .sh 脚本相当于把你的个性化配置和系统默认配置解耦了以后卸载 JDK21 时只需要删除这一个文件干净利落。验证时同样要注意必须新开一个终端会话或者执行 source /etc/profile 再验证因为当前会话里的环境变量不会自动刷新。执行java -version which javawhich java 应该输出来自 /usr/bin/java 或者 $JAVA_HOME/bin/java 的路径。如果你执行 which java 查不到说明 PATH 里没有变量检查一下 jdk21.sh 的权限chmod 644 /etc/profile.d/jdk21.sh保证它对所有用户可读即可因为 profile 脚本只需要读取权限不需要执行权限。除了终端用户环境Linux 服务器还有一个容易被忽略的场景通过 systemd 启动的服务进程不会读取 /etc/profile.d。如果你部署的应用是用 systemd 管理即使 JAVA_HOME 配好了服务进程也拿不到这个变量。这种情况下我建议在 service 文件里显式写 EnvironmentJAVA_HOME/opt/java/jdk-21或者更常见的做法是把 java 路径做成符号链接ln -sf /opt/java/jdk-21/bin/java /usr/bin/java这样应用直接调用 java 命令时走的还是你指定的 JDK21绕开了环境变量的生效范围问题。4.3 多版本 JDK 切换update-alternatives真到了服务器上同时需要 JDK11 和 JDK21 的时候手动改 /etc/profile.d 就太痛苦了。Debian/Ubuntu 系的 update-alternatives 是标准动作。把两个 JDK 都解压好之后执行update-alternatives --install /usr/bin/java java /opt/java/jdk-21/bin/java 2100 update-alternatives --install /usr/bin/java java /opt/java/jdk-11/bin/java 1100 update-alternatives --config java这里末尾的 2100 和 1100 是优先级数字大的默认被优先选中。执行 update-alternatives --config java 后系统会列出所有已注册的 java 链接你输入编号就能切换。注意到我装的是 /usr/bin/java 而不是 /usr/local/bin/java这是因为 update-alternatives 默认管理 /usr/bin 下的链接如果你习惯装在 /usr/local 下也可以对应改成 /usr/local/bin/java逻辑完全一样。JAVA_HOME 也可以交给 update-alternatives 管理再创建一个 jdk 组update-alternatives --install /usr/bin/javac javac /opt/java/jdk-21/bin/javac 2100然后配置 JAVA_HOME 时指向 /usr/lib/jvm 之类的动态链接路径但这一套配置对新手来说确实复杂了一些。如果你只有一台服务器只跑一个应用我建议用第 4.2 小节的 profile.d 方案就够了只有当你明确知道自己要频繁切换 JDK 版本时才值得引入 update-alternatives。5. IDEA 2025 安装与 JDK21 的关联配置5.1 IDEA 2025 安装流程要点IDEA 2025 的安装本身不复杂从 JetBrains 官网下载对应系统的安装包下载地址直接搜“IntelliJ IDEA download”就能看到官方入口Windows 版是一个 exe 安装器运行后基本一路 Next。需要注意几个安装选项第一个是安装路径同样不要带中文和空格建议 D:\Program Files\JetBrains\IntelliJ IDEA 2025 这类较短的路径。第二个是安装器会问你要不要创建“64 位启动器”和“创建关联文件”建议全部勾上右键 .java 文件直接用 IDEA 打开非常方便。第三个是安装完成后会问你要不要立即启动可以先不启动因为最好先去确认 JDK 环境已经配好了。如果你的机器是 Linux 桌面环境IDEA 2025 的安装方式是下载 tar.gz 后解压到 /opt初次启动运行 bin/idea.sh 即可。可以顺手创建一个桌面快捷方式。这里需要注意Linux 桌面上运行 IDEA同样得注意 JDK 环境变量因为 IDEA 启动脚本会调用系统的 java 判断运行环境虽然它也会使用内置的 JBR但如果 JAVA_HOME 配置错误某些插件和构建工具依然会报错。启动后的首次欢迎界面会引导你选择主题、导入以前的配置等。我自己一般选择不导入直接全新的开始避免上一版本遗留的配置和新版冲突。5.2 在 IDEA 2025 里把项目 SDK 指定为 JDK21IDEA 安装完以后最关键的一步就是把项目里的 SDK 指向 JDK21。操