运行java -version可确认当前终端实际调用的java版本,其结果取决于path首位匹配的java可执行文件;再通过echo $java_home和$java_home/bin/java -version交叉验证;最后用/usr/libexec/java_home -v列出所有jdk并识别默认项。

在Mac上快速确认当前终端实际调用的Java版本,避免因多版本共存导致构建失败或IDE配置错乱,必须绕过系统偏好设置里的“Java控制面板”——它只显示已安装的JDK列表,不反映命令行真实环境。
终端中查看当前生效的Java版本
打开“终端”应用(可在“访达→应用程序→实用工具”中找到),直接输入以下命令并回车:
java -version
该命令输出的是当前 PATH 环境变量首位匹配的 java 可执行文件 所对应的版本。如果你装了多个JDK(如Adoptium 17、Zulu 11、Oracle JDK 21),这一步的结果取决于你 shell 配置文件(~/.zshrc、~/.bash_profile 等)中 export JAVA_HOME=... 和 export PATH=... 的顺序与值。
确认JAVA_HOME指向哪个JDK
运行以下命令:
echo $JAVA_HOME
如果返回空行,说明未显式设置 JAVA_HOME,此时 java 命令将依赖 PATH 中第一个 bin/java 路径;如果返回路径(例如 /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home),则基本可判定该JDK为当前主用版本。
进一步验证该路径下真实版本号,执行:
$JAVA_HOME/bin/java -version
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
这能排除 alias 或 wrapper 脚本干扰,直取目标 JDK 自带的 java 二进制文件输出。
列出所有已安装的JDK并标记当前默认项
方法一:使用系统内置命令
/usr/libexec/java_home -V
该命令会逐行列出所有被 macOS 识别的 JDK 安装路径及对应版本号,首行即为 /usr/libexec/java_home 默认返回的路径,也就是你执行 java 命令时最可能调用的那个版本(前提是你的 JAVA_HOME 或 PATH 依赖此命令结果)。
方法二:手动检查常见安装位置
Mac 上 JDK 通常位于:/Library/Java/JavaVirtualMachines/。进入该目录:
ls /Library/Java/JavaVirtualMachines/
你会看到类似 jdk-11.0.20.jdk、temurin-17.0.8+7.jdk 的文件夹名,每个文件夹代表一个独立JDK实例。注意:仅存在不等于“已激活”,必须结合前两步判断哪个正在被使用。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










