在macOS Catalina中配置Oracle JDK 8必须编辑~/.zshrc(非.bash_profile),通过/usr/libexec/java_home -V获取含1.8的JDK路径并确保含/Contents/Home,再写入JAVA_HOME和PATH,最后source ~/.zshrc验证。

在macOS Catalina系统中配置Oracle JDK 8环境变量,必须明确使用zsh作为默认Shell,若仍在.bash_profile中配置,【环境变量将完全不生效】。Catalina起系统已弃用bash,强行沿用旧教程会导致java命令在新终端窗口中无法识别。
确认当前Shell类型并定位配置文件
打开终端,执行:echo $SHELL。若返回/bin/zsh(Catalina及后续版本默认),则必须编辑~/.zshrc;若返回/bin/bash,才可操作~/.bash_profile。
绝大多数Catalina用户无需验证,直接进入~/.zshrc即可。这一步跳过会浪费大量排查时间。
获取JDK 8实际安装路径
在终端中运行:/usr/libexec/java_home -V。
输出中会列出所有已安装JDK,找到含1.8或jdk8字样的那一行,复制其路径(形如/Library/Java/JavaVirtualMachines/jdk1.8.0_391.jdk/Contents/Home)。注意:路径末尾必须包含/Contents/Home,漏掉则JAVA_HOME指向错误,后续所有命令失效。
写入环境变量配置
方法一(推荐,直接追加):echo 'export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_391.jdk/Contents/Home"' >> ~/.zshrc && echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.zshrc。
方法二(手动编辑):open -e ~/.zshrc,在文件末尾粘贴以下两行(务必把引号内路径替换成你上一步复制的真实路径):
export JAVA_HOME="你的JDK路径"
export PATH=$JAVA_HOME/bin:$PATH
【不要添加CLASSPATH、不要写export CLASSPATH、不要写tools.jar或dt.jar】——现代Java开发已不再依赖这些,强行加入反而可能引发IDE或构建工具冲突。
使配置立即生效
执行:source ~/.zshrc。
这一步不可省略。关闭再重开终端虽也能生效,但source是即时验证的唯一可靠方式。如果跳过,下一步检测必然失败。
验证配置结果
依次执行以下两条命令:
① echo $JAVA_HOME → 应输出你设置的完整路径
② java -version → 应显示类似java version "1.8.0_391"的信息
若第一条正确而第二条报command not found: java,说明PATH未正确拼接,检查export PATH=...是否漏写$JAVA_HOME/bin:前缀或写成$JAVA_HOME:/bin这类低级错误。


















