【2026版】macOS 使用 Homebrew 快速安装 Java 21 教程

在 macOS 上配置 Java 环境时,很多开发者会遇到 no bottle available 或环境变量配置失效的问题。本文将介绍目前最稳定、最推荐的安装方式:使用 Homebrew Cask 安装 Eclipse Temurin。

为什么选择 Temurin?

  • 兼容性好:前身为 AdoptOpenJDK,是目前最主流的 OpenJDK 发行版。
  • 安装简单 :使用 Cask 安装会自动放入系统目录,无需手动配置繁琐的 PATH。
  • 识别率高:IntelliJ IDEA、Eclipse 等 IDE 可以直接识别,无需寻找隐藏路径。

🚀 安装步骤

1. 确保 Homebrew 已更新

在安装任何新软件包之前,建议先更新 Homebrew 索引:

bash 复制代码
brew update

2. 执行安装命令

直接在终端输入以下正确命令:

bash 复制代码
brew install --cask temurin@21

注:使用 --cask 会直接下载预编译好的 .pkg 安装包,避开复杂的源码编译过程。

3. 验证安装

安装完成后,无需重启电脑 ,只需新开一个终端窗口或执行 source,然后输入:

bash 复制代码
java -version

预期输出:

openjdk version "21.x.x" ...

Runtime Environment Temurin-21...


🛠 进阶技巧:多版本管理

如果你电脑上同时需要 Java 8, 11 和 21,可以按照以下逻辑操作:

1. 安装其他版本

bash 复制代码
brew install --cask temurin@8
brew install --cask temurin@17

2. 快速切换版本

macOS 提供了一个强大的工具 /usr/libexec/java_home 来定位不同版本。你可以通过在 ~/.zshrc 中添加别名来快速切换:

bash 复制代码
# 编辑配置文件
nano ~/.zshrc

# 添加以下内容(按需开启)
export JAVA_21_HOME=$(/usr/libexec/java_home -v 21)
export JAVA_8_HOME=$(/usr/libexec/java_home -v 1.8)

# 默认使用 Java 21
export JAVA_HOME=$JAVA_21_HOME

# 保存退出后运行
source ~/.zshrc

❓ 常见问题排查

  • 提示 "Permission Denied"?
    安装 Cask 软件通常需要系统管理员权限,请在提示时输入你的 Mac 开机密码。
  • IDE 找不到 JDK?
    Temurin 默认安装在 /Library/Java/JavaVirtualMachines/。在 IntelliJ IDEA 中,点击 Project Structure -> SDKs -> + 号,直接指向该目录即可。
  • 之前手动删过 Java 删不干净?
    如果之前乱删导致安装失败,可以参考 macOS 完全卸载 Java 教程 先进行彻底清理。
相关推荐
阿皮 API3 分钟前
Shopee虾皮商品详情API接口调用实战:Python获取东南亚商品数据与JSON解析
开发语言·python·json
niucloud-admin17 分钟前
NIUCLOUD LITE AI开发文档--系统部署
开发语言·ai
2601_9620710018 分钟前
Kimi K3 vs DeepSeek V4-Pro实测对比:2026年同一入口十道题,耗时与token消耗差在哪
android·java·数据库
2501_9159184120 分钟前
在 Xcode 中运行和调试单元测试的完整指南
ide·vscode·macos·ios·单元测试·个人开发·xcode
多弗朗皮卡丘22 分钟前
C++异常
开发语言·c++·异常
米糕闯编程27 分钟前
鱼香ros2(十七)C++小海龟巡逻
开发语言·c++·机器人·ros2·服务·小海龟
用户37215742613529 分钟前
如何使用 Java 提取 PPT 中的文字:整份文档、指定幻灯片与表格内容
java
郝学胜-神的一滴35 分钟前
NumPy深度解析|Python数值计算的基石,告别低效for循环
开发语言·人工智能·python·程序人生·numpy·量化投资
ManageEngineITSM44 分钟前
工单优先级怎么定?影响×紧急度矩阵的设计与落地方法
java·大数据·运维·前端·数据库·变更管理
\光辉岁月/1 小时前
15.JavaSE-网络
java·开发语言·网络