在Mac系统中,不同Java项目经常要求使用不同的JDK版本,例如老系统用JDK 8,新微服务用JDK 17。我们可以在同一台电脑上安装多个Java版本,并通过配置环境变量随时切换,不需要反复卸载安装。

一、安装多个Java版本
使用Homebrew安装
Homebrew是Mac上常用的包管理器,可以用它安装不同版本的JDK:
# 安装JDK 8 brew install --cask adoptopenjdk8 # 安装JDK 11 brew install --cask adoptopenjdk11 # 安装JDK 17 brew install --cask openjdk@17
手动安装官方包
也可以从官网下载macOS版本的dmg安装包,双击安装。系统会将不同版本默认放到如下路径:
- /Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk
- /Library/Java/JavaVirtualMachines/jdk-11.jdk
- /Library/Java/JavaVirtualMachines/jdk-17.jdk
二、配置环境变量实现切换
在用户主目录的 .zshrc 或 .bash_profile 中配置JAVA_HOME别名:
export JAVA_8_HOME=$(/usr/libexec/java_home -v 1.8) export JAVA_11_HOME=$(/usr/libexec/java_home -v 11) export JAVA_17_HOME=$(/usr/libexec/java_home -v 17) # 默认使用JDK 11 export JAVA_HOME=$JAVA_11_HOME # 定义切换命令 alias jdk8='export JAVA_HOME=$JAVA_8_HOME' alias jdk11='export JAVA_HOME=$JAVA_11_HOME' alias jdk17='export JAVA_HOME=$JAVA_17_HOME'
保存后执行 source ~/.zshrc 使配置生效。
三、验证与使用
打开终端,使用下面的命令查看当前版本:
java -version
如果需要切到JDK 8,直接输入:
jdk8 java -version
终端会显示对应的Java版本信息,说明切换成功。建议在项目启动前确认JAVA_HOME指向正确版本,避免编译错误。
四、常见问题
| 问题 | 处理方式 |
|---|---|
| 执行java_home找不到版本 | 确认JDK已安装且路径在/Library/Java/JavaVirtualMachines下 |
| 别名不生效 | 检查shell类型,zsh用户改.zshrc,bash用户改.bash_profile |
提示:IDEA等开发工具可在项目设置中单独指定JDK路径,不依赖全局JAVA_HOME,适合多版本并行开发。
MacJava_versionswitch_java修改时间:2026-07-25 16:18:23