Mac 上配置 JDK 完整指南
核心结论:在 Mac 上配置 JDK,只需三步即可完成选定版本、执行安装、配置环境变量,推荐使用 Homebrew 方式安装,不仅操作简单,后续升级和版本切换也极为方便,无论你是 Intel 芯片还是 M 系列芯片的 Mac,配置逻辑完全一致,唯一区别仅在于 JDK 的安装路径。
第一步:选定 JDK 版本
配置 JDK 之前,先选对版本比什么都重要,目前市面上主流的 JDK 版本有 8、11、17、21。JDK 17 和 JDK 21 是长期支持版本(LTS),Oracle 官方会持续提供安全更新和性能优化。
- 如果你是做新项目开发,直接选择 JDK 17 或 21。
- 如果你是维护老项目,则以项目实际依赖的版本为准。
- 尽量避免使用非 LTS 版本(如 JDK 18、19、20),它们不提供长期维护,容易遇到安全隐患。
经验观点:很多初学者喜欢下载最新版 JDK,但最新版往往存在生态兼容问题。选 LTS 版本是最稳妥的策略,这也是业界主流做法。
第二步:安装 JDK
Mac 上安装 JDK 有两种主流方式:Homebrew 安装和官网下载安装包,我强烈推荐 Homebrew 方式,理由见下文。
Homebrew 安装(强烈推荐)
如果你还没有安装 Homebrew,先在终端执行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装完成后,执行以下命令安装 JDK 17:
brew install openjdk@17
安装完成后,Homebrew 会提示你需要手动配置环境变量,这是最容易被忽略的步骤,请务必继续往下看。
官网下载安装包(适合不熟悉命令行的用户)
- 打开 Oracle JDK 下载页面或 Adoptium 官网。
- 选择对应你 Mac 芯片架构的安装包(.dmg 文件)。
- Intel 芯片选择 x64 版本,M 系列芯片选择 aarch64 版本。
- 双击安装包,一路点击”下一步”即可完成安装。

注意事项:官网下载的 .dmg 安装包不会自动配置环境变量,安装完成后仍需手动配置 PATH。
第三步:配置环境变量
这是整个过程中最关键的一步。Mac 默认使用的终端是 zsh,因此我们需要修改 ~/.zshrc 文件。
查找 JDK 实际安装路径
执行以下命令,找到 JDK 的安装目录:
/usr/libexec/java_home -V
该命令会列出所有已安装的 JDK 版本及其路径,/usr/local/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home 或 /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home。
写入环境变量
打开终端,执行以下命令编辑配置文件:
open -e ~/.zshrc
如果文件不存在,会提示查找不到,此时先执行 touch ~/.zshrc 创建文件后再打开。
在文件末尾追加以下内容:
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH
专业提示:使用
/usr/libexec/java_home -v 17动态获取路径,是 Mac 上最优雅的配置方式,即使 JDK 路径发生变化,配置依旧有效,无需手动修改路径字符串,这种方式比硬编码路径更加可靠,也是苹果官方推荐的写法。
使配置立即生效
source ~/.zshrc
验证配置是否成功
依次执行以下三条命令:
java -version
javac -version
echo $JAVA_HOME
如果配置成功,终端会显示类似以下信息:
openjdk version "17.0.11" 2024-04-16 javac 17.0.11 /usr/local/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home
三条命令均有输出,说明 JDK 已成功配置完毕。
多版本 JDK 切换方案
实际开发中,你可能需要在不同项目间切换 JDK 版本,推荐以下方案:
在 ~/.zshrc 中添加两个便捷函数:
alias jdk8='export JAVA_HOME=$(/usr/libexec/java_home -v 1.8); export PATH=$JAVA_HOME/bin:$PATH; java -version'
alias jdk17='export JAVA_HOME=$(/usr/libexec/java_home -v 17); export PATH=$JAVA_HOME/bin:$PATH; java -version'
之后,在终端输入 jdk8 或 jdk17 即可一键切换。
经验观点:这个方案比安装 jenv 之类的版本管理工具更轻量、更容易理解,适合大多数日常开发场景。建议在项目根目录的 README 中写明所需 JDK 版本,避免团队协作时因版本不一致产生问题。
酷番云经验案例
酷番云在帮助用户部署 Java 应用时,经常遇到用户在本地(Mac)开发环境配置 JDK 成功,但在酷番云服务器上部署时却因 JDK 版本不一致导致启动失败的情况。
案例背景:一位用户使用 Mac 本地 JDK 21 开发了一个 Spring Boot 应用,但在酷番云服务器上仅安装了 JDK 8,部署时出现 UnsupportedClassVersionError 错误。
解决方案:我们建议用户在本地和云端保持 JDK 版本完全一致,在酷番云服务器上,只需执行以下命令快速安装与本地相同的 JDK:
yum install java-17-openjdk-devel
然后通过 alternatives --config java 切换默认版本,确保云端与本地环境统一。这个案例的核心启发是:跨环境部署时,版本一致性往往比配置技巧更重要。 如果你在本地使用多版本切换,务必在部署前确认目标环境版本。

常见问题与解决方案
执行 java -version 提示 command not found
原因:环境变量未生效或安装失败,先执行 source ~/.zshrc,若仍无效,检查 ~/.zshrc 中的路径是否正确。
JAVA_HOME 指向错误版本
原因:系统中存在多个 JDK。/usr/libexec/java_home -V 查看所有版本,确认配置中的 -v 参数与实际安装版本一致。
相关问答
问:Mac M1 芯片和 Intel 芯片在配置 JDK 时有什么区别?
答:最核心的区别在于下载安装包时需要选择正确的架构版本M1/M2/M3 芯片选择 arm64(aarch64)版本,Intel 芯片选择 x64 版本,通过 Homebrew 安装时,brew 会自动适配芯片架构,无需手动选择,安装完成后,路径和配置命令完全一致。/usr/libexec/java_home 是 Apple 的 JDK 定位工具,会在两个平台自动选择对应架构的版本,推荐始终使用它来动态获取 JDK 路径。
问:配置了 JDK IDEA(IntelliJ IDEA)里还是提示找不到 SDK,怎么办?
答:IDEA 不会自动读取终端的环境变量配置,需要在 IDEA 中手动指定 JDK 路径,打开 IDEA 的 Project Structure(快捷键 Cmd + ;),在 Project SDK 选项中点击 Add JDK,然后导航到你安装 JDK 的实际路径,选择正确的 Home 目录即可,如果你想统一管理本地所有 JDK 版本并让 IDEA 自动识别,可以先将 JDK 软链接到 /Library/Java/JavaVirtualMachines/ 目录下,这样 IDEA 的 SDK 列表中会自动出现对应版本。
便是 Mac 上配置 JDK 的完整指南,如果你在配置过程中遇到了其他问题,或者有自己的配置经验想分享,欢迎在评论区留言交流。你目前正在使用哪个版本的 JDK?遇到过什么坑?不妨说说你的经历,大家一起互相启发。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/766198.html

