在 macOS 上用 Homebrew 搭建本地 Java 多版本切换环境,核心是“分步安装 + 分层管理”:先用 Homebrew 安装多个 OpenJDK 版本,再用 jEnv 统一调度,避免手动改 JAVA_HOME 和 PATH。
在 macos 上用 homebrew 搭建本地 java 多版本切换环境,核心是“分步安装 + 分层管理”:先用 homebrew 安装多个 openjdk 版本,再用 jenv 统一调度,避免手动改 java_home 和 path。整个过程不依赖图形界面,全部命令行完成,干净、可复现、适合日常开发和团队协作。
安装 Homebrew 并配置基础环境
Homebrew 是一切的前提。打开终端执行:
- 运行官方安装命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 安装完成后,按提示将 Homebrew 加入 shell 环境(Apple Silicon Mac 默认路径为
/opt/homebrew):echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc && source ~/.zshrc - 验证安装:
brew --version应输出类似Homebrew 4.x.x;再运行brew update && brew doctor确保环境健康
用 Homebrew 安装多个 OpenJDK 版本
推荐使用 openjdk 公式(由 Homebrew Core 维护,更新及时、结构清晰)。每个版本独立安装、互不覆盖:
- 安装 JDK 17:
brew install openjdk@17 - 安装 JDK 21:
brew install openjdk@21 - 如需 JDK 8 或 11:
brew install openjdk@8、brew install openjdk@11 - 安装后可用
/usr/libexec/java_home -V查看所有已注册的 JDK 路径(注意:Homebrew 安装的 JDK 需要先注册到系统,见下一步)
注册 JDK 到系统并安装 jEnv
Homebrew 安装的 JDK 默认不会出现在 /usr/libexec/java_home 的列表中,需手动链接;jEnv 则负责统一接管这些版本:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 将各版本 JDK 符号链接到标准路径(以 JDK 17 为例):
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
对其他版本做同样操作(替换路径中的@21、@8等) - 安装 jEnv:
brew install jenv - 将 jEnv 加入 shell:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrcecho 'eval "$(jenv init -)"' >> ~/.zshrcsource ~/.zshrc - 让 jEnv 扫描并识别已注册的 JDK:
jenv add /Library/Java/JavaVirtualMachines/openjdk-17.jdk/Contents/Home(对每个版本重复执行)
实现灵活的版本切换
jEnv 支持三种作用域,按优先级从高到低:当前目录(local)→ 当前终端会话(shell)→ 全局(global):
立即学习“Java免费学习笔记(深入)”;
- 查看所有可用版本:
jenv versions(带星号的是当前生效版本) - 全局设为 JDK 17:
jenv global 17.0 - 只在当前终端用 JDK 21:
jenv shell 21.0 - 在某个项目目录下固定用 JDK 8:
cd /path/to/project && jenv local 8.0(会在该目录生成.java-version文件) - 每次切换后,
java -version和$JAVA_HOME会自动同步更新,Maven、Gradle 等工具也能正确识别

















