必须修改~/.zshrc:macos catalina起默认zsh,运行echo $shell确认;用vim ~/.zshrc编辑,i进入插入模式,末尾添加export java_home=$(/usr/libexec/java_home -v 17)和export path=$java_home/bin:$path;保存后source ~/.zshrc,并验证java -version、echo $java_home、which java三者路径一致。

Mac 上配置 Java 环境变量,核心就是正确修改 ~/.zshrc 文件——因为从 macOS Catalina(10.15)起,系统默认 shell 是 zsh,.bash_profile 不再自动加载。
确认该改 .zshrc 还是 .bash_profile
直接在终端运行:
echo $SHELL
如果输出 /bin/zsh,就只改 ~/.zshrc;输出 /bin/bash 才考虑 .bash_profile(但新系统几乎不会出现后者)。
用 vim 编辑 ~/.zshrc 的关键操作
执行:vim ~/.zshrc
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 打开后按 i 进入插入模式,才能输入内容
- 不要加
sudo:用sudo vim ~/.zshrc会写到 root 用户下,对你当前账户无效 - 文件为空或不存在都正常,直接写就行
- 编辑完按 Esc 退出插入模式,再输入 :wq 回车保存退出
- 别误输成
:q!,那是不保存退出
写入正确的 JAVA_HOME 和 PATH
在文件末尾添加以下两行(顺序不能错):
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH
-
$()是命令替换,必须带括号和美元符,不能写成字符串路径 -
-v 17明确指定 JDK 17,避免装多个版本后java -version和$JAVA_HOME对不上 -
$JAVA_HOME/bin必须放在$PATH最前面,否则系统会优先调用/usr/bin/java(macOS 自带 stub) - 不要写
export PATH=$PATH:$JAVA_HOME/bin,这是常见错误
让配置立即生效并验证
运行:source ~/.zshrc
然后一次性检查三项:
- java -version → 看输出的 Java 版本
- echo $JAVA_HOME → 看路径是否指向你期望的 JDK 目录
-
which java → 看结果是否为
$JAVA_HOME/bin/java
三者路径一致才算真正配成功。只看 java -version 容易被误导,Maven、Gradle 或 IDE 启动时仍可能出错。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










