You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac上java --version总显示最新版本 与JAVA_HOME不符如何解决

问题根因

M1 Mac 系统默认调用 Java 命令时,会优先读取系统注册的最高版本 JDK,仅配置 JAVA_HOME 但未将其对应 bin 目录放到 PATH 最前列时,就会出现版本不匹配的问题。

修复步骤

  • 第一步:打开当前 shell 对应的配置文件,M1 Mac 默认使用 zsh,对应配置文件为 ~/.zshrc,如果使用 bash 则对应 ~/.bash_profile
    open ~/.zshrc
    
  • 第二步:在配置文件末尾新增如下内容,将 JDK11 设为默认,且优先读取对应路径下的 Java 命令
    # 设置默认 JDK 版本为 11
    export JAVA_HOME=$(/usr/libexec/java_home -v "11")
    # 将 JDK 可执行文件路径放到 PATH 最前面,优先级高于系统默认路径
    export PATH="$JAVA_HOME/bin:$PATH"
    
    如果你需要快速切换不同 JDK 版本,可以同时新增别名配置,后续输入 jdk8/jdk11/jdk16/jdk17 即可一键切换:
    alias jdk8='export JAVA_HOME=$(/usr/libexec/java_home -v "1.8") && export PATH="$JAVA_HOME/bin:$PATH"'
    alias jdk11='export JAVA_HOME=$(/usr/libexec/java_home -v "11") && export PATH="$JAVA_HOME/bin:$PATH"'
    alias jdk16='export JAVA_HOME=$(/usr/libexec/java_home -v "16") && export PATH="$JAVA_HOME/bin:$PATH"'
    alias jdk17='export JAVA_HOME=$(/usr/libexec/java_home -v "17") && export PATH="$JAVA_HOME/bin:$PATH"'
    
  • 第三步:保存配置文件后执行如下命令让配置立即生效
    source ~/.zshrc
    
  • 第四步:验证是否生效
    执行 java --version 即可看到返回版本为 JDK11,也可执行 which java 确认路径是否为 /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/java。

注意:如果之前配置过其他 JDK 路径到 PATH 中,需要删除旧的 JDK 相关 PATH 配置,避免优先级冲突。

内容的提问来源于stack exchange,提问作者c_idle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:57:00