M1芯片MacOS安装OpenJDK后无法找到Java运行时
解决MacOS上brew安装OpenJDK后java命令无法识别的问题
一、定位brew安装的OpenJDK实际路径
brew安装的OpenJDK不会存放在你检查的~/opt/、/Library/Java/JavaVirtualMachines或/System/Library/路径中,而是在Homebrew的专属目录下。直接用以下命令查看具体安装位置:
- 查看openjdk(21)的安装信息:
brew info openjdk - 查看openjdk@11的安装信息:
brew info openjdk@11
输出内容里的Installed to:字段会显示准确路径,比如Apple Silicon芯片的Mac通常是/opt/homebrew/opt/openjdk,Intel芯片则是/usr/local/opt/openjdk。
二、临时验证Java可执行文件
找到路径后,用绝对路径执行java命令,确认Java本身能正常运行:
- Apple Silicon芯片验证openjdk21:
/opt/homebrew/opt/openjdk/bin/java --version - Intel芯片验证openjdk21:
/usr/local/opt/openjdk/bin/java --version
如果能正常输出版本信息,说明Java安装没问题,只是系统环境变量未配置。
三、永久配置环境变量
根据你使用的shell(Mac默认是zsh,对应配置文件~/.zshrc;bash对应~/.bash_profile),添加以下内容:
配置openjdk21为默认版本
# 配置OpenJDK 21 export PATH="/opt/homebrew/opt/openjdk/bin:$PATH" export JAVA_HOME="/opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home"
(Intel芯片把/opt/homebrew替换为/usr/local即可)
配置openjdk@11为默认版本
# 配置OpenJDK 11 export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH" export JAVA_HOME="/opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home"
添加完成后,执行以下命令让配置生效:
source ~/.zshrc # 若使用bash则执行:source ~/.bash_profile
四、切换不同Java版本
如果需要在两个版本间切换,可使用brew的link/unlink命令:
- 切换到openjdk@11:
brew unlink openjdk && brew link --force openjdk@11 - 切换回openjdk21:
brew unlink openjdk@11 && brew link --force openjdk
切换后记得重新执行source命令刷新环境变量,或重启终端。
内容的提问来源于stack exchange,提问作者Marcus Anthony
相关产品推荐
相关产品推荐

