【2026 最新】JDK 下载与安装:在 macOS 下使用 Homebrew 和 jenv 完美管理多版本 JDK

结合 Homebrew 和 jenv 是在 macOS 上管理多版本 JDK 的最佳实践。Homebrew 负责安装具体的 JDK 文件,而 jenv 负责在这些版本之间灵活切换。

Homebrew安装配置看下面的教程:

【2026 最新】Mac 终端神器 Homebrew 完全指南:从安装、换源加速到核心命令速查(Mac 版)_mac homebrew-CSDN博客

以下是完整的操作流程:

一、使用 Homebrew 安装 jenv 和 JDK

首先,你需要安装 jenv 工具本身,以及你想要管理的 JDK 版本。

bash 复制代码
# 1. 安装 jenv
brew install jenv
bash 复制代码
# 2. 安装不同版本的 JDK (以 JDK 8, 17, 21 为例)
# 推荐使用 --cask 方式安装,更稳定完整
brew install --cask temurin@8
brew install --cask temurin@17
brew install --cask temurin@21

下载 Jdk 17

下载 Jdk 21

二、配置 Shell 环境

安装完成后,需要将 jenv 集成到你的 Shell(通常是 Zsh)中,以便在终端中使用。

在终端执行以下命令,将配置添加到 ~/.zshrc 文件:

bash 复制代码
# 1. 添加 jenv 到 PATH
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc

# 2. 初始化 jenv
echo 'eval "$(jenv init -)"' >> ~/.zshrc

# 3. 使配置立即生效
source ~/.zshrc

三、查看 JDK 安装位置

输入:

bash 复制代码
/usr/libexec/java_home -V

输出:

bash 复制代码
Matching Java Virtual Machines (2):
    21.0.10 (arm64) "Eclipse Adoptium" - "OpenJDK 21.0.10" /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
    17.0.18 (arm64) "Eclipse Adoptium" - "OpenJDK 17.0.18" /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
yixuan@yixuan ~ % 

我的就是在

  • /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
  • /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

四、将 JDK 添加到 jenv 管理

jenv 不会自动发现 Homebrew 安装的 JDK,你需要手动告诉它 JDK 的安装路径。

注意 :对于 Apple Silicon (M1/M2/M3) 芯片的 Mac,Homebrew 的默认安装路径是 /opt/homebrew,而 Intel 芯片通常是 /usr/local。以下命令以 Apple Silicon 为例。

bash 复制代码
# 将 JDK 8 添加到 jenv
jenv add /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home


# 将 JDK 17 添加到 jenv
jenv add /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

# 将 JDK 21 添加到 jenv
jenv add /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home

五、启用关键插件 (非常重要)

为了让 JAVA_HOME 环境变量自动跟随 jenv 切换(这对 Maven、Gradle 和 IDE 至关重要),必须启用 export 插件。

bash 复制代码
# 启用自动设置 JAVA_HOME 的插件
jenv enable-plugin export

# (可选) 如果你使用 Maven,也可以启用 maven 插件
jenv enable-plugin maven

# 重启终端或执行 source ~/.zshrc 让插件生效

六、常用管理命令

配置完成后,你就可以轻松管理版本了。

功能 命令 说明
查看版本 jenv versions 列出所有已注册的 JDK 版本
查看当前 jenv version 显示当前正在使用的版本
全局切换 jenv global 17 设置系统默认版本为 JDK 17
项目切换 jenv local 8 仅在当前目录使用 JDK 8 (生成 .java-version 文件)
临时切换 jenv shell 21 仅在当前终端窗口会话有效
删除版本 jenv remove 1.8 从 jenv 管理中移除某版本 (不卸载文件)

七、验证与排障

  • 检查配置状态 :

    输入 jenv doctor 可以诊断配置是否正确。如果提示 JAVA_HOME 未设置,请确保你执行了第 4 步的插件启用命令并重启了终端。

  • 验证 Java 版本 :

    输入 java -version 查看当前生效的版本。

  • 验证环境变量 :

    输入 echo $JAVA_HOME,它应该指向当前 jenv 选定的 JDK 路径。

通过以上步骤,你就可以在 macOS 上完美地通过 Homebrew 安装 JDK,并使用 jenv 进行专业级的版本管理。

相关推荐
dialect_6 小时前
KMP算法
开发语言·c++·算法
captain3766 小时前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
Novproxy_Z6 小时前
商用代理避坑:如何识别商家拿机房 IP 冒充住宅 IP
java·网络·tcp/ip
总要学点什么6 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
文丑颜不良啊7 小时前
LeetCode1481~1500题目解析
java·leetcode
2601_962885727 小时前
quotes 字段全解:涨跌幅、振幅、换手率的口径与单位
java·前端·spring
前端精髓7 小时前
调用openrouter的免费API模型
java·前端·javascript
步行cgn8 小时前
Spring MVC 拦截器 Interceptor 详解:从执行流程到实战应用
java·spring·mvc
文丑颜不良啊8 小时前
LeetCode1381~1400题目解析
java·leetcode
开开心心_Every8 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea