在 macOS 上安装和管理多个 JDK 并实现自由切换,可以通过以下步骤实现:
1. 安装多个 JDK
你可以通过以下方式安装多个 JDK 版本:
-
官方网站下载 :从 Oracle 官网 或 AdoptOpenJDK 下载不同版本的 JDK 安装包(.dmg),依次安装
-
使用 Homebrew :通过 brew 命令安装不同版本
bash# 搜索可用的 JDK 版本 brew search openjdk # 安装特定版本,例如 openjdk@11 和 openjdk@17 brew install openjdk@11 brew install openjdk@17
安装完成后,JDK 通常会被安装在以下路径:
- 官方安装:
/Library/Java/JavaVirtualMachines/
- Homebrew 安装:
/usr/local/Cellar/openjdk@版本号/
2. 配置 JDK 切换
推荐使用 jenv
工具来管理多个 JDK 版本,步骤如下:
安装 jenv
bash
# 使用 Homebrew 安装 jenv
brew install jenv
# 配置环境变量(根据你的 shell 选择相应配置)
# 对于 bash
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
# 对于 zsh(macOS 默认 shell)
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
# 重新加载配置
source ~/.zshrc # 或 source ~/.bash_profile
添加已安装的 JDK 到 jenv
bash
# 查看已安装的 JDK 路径
ls /Library/Java/JavaVirtualMachines/
# 将 JDK 添加到 jenv(替换为实际的版本路径)
jenv add /Library/Java/JavaVirtualMachines/jdk-11.0.15.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk-17.0.3.jdk/Contents/Home
# 查看已添加的 JDK 版本
jenv versions
切换 JDK 版本
bash
# 设置全局默认版本
jenv global 11.0.15
# 设置当前终端会话的版本
jenv shell 17.0.3
# 设置当前目录及其子目录的版本(会创建 .java-version 文件)
jenv local 11.0.15
验证当前 JDK 版本
bash
java -version
javac -version
3. 手动切换方法(不使用工具)
如果不想使用 jenv
,也可以手动配置环境变量:
bash
# 在 .zshrc 或 .bash_profile 中添加
JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home
JAVA_HOME_17=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME=$JAVA_HOME_17
export JRE_HOME
export PATH
export CLASSPATH
alias jdk8="export JAVA_HOME=$JAVA_HOME_8"
alias jdk17="export JAVA_HOME=$JAVA_HOME_17"
# 重新加载配置
source ~/.zshrc # 或 source ~/.bash_profile
配置完成后,只需在终端输入 jdk8
、jdk11
等别名即可切换 JDK 版本。