MacOS 12.6下如何使java -version匹配JAVA_HOME指定版本
解决MacOS Monterey下Java版本切换问题
问题原因
java -version显示的版本与JAVA_HOME不一致,是因为系统执行java命令时,会优先按照PATH环境变量的顺序查找可执行文件,而你的PATH中可能先包含了Java 8的bin目录,或者系统默认的/usr/bin/java指向了Java 8。
解决方案
方法一:调整PATH环境变量优先级
- 打开你的shell配置文件:
- 若使用zsh(Mac默认shell),执行
open ~/.zshrc - 若使用bash,执行
open ~/.bash_profile
- 若使用zsh(Mac默认shell),执行
- 在文件末尾添加以下内容:
export PATH="$JAVA_HOME/bin:$PATH" - 保存文件后,执行命令使配置生效:
- zsh:
source ~/.zshrc - bash:
source ~/.bash_profile
- zsh:
- 验证结果:执行
java -version,此时应该显示Java 17的版本信息。
方法二:通过系统自带工具指定默认JDK
- 打开shell配置文件(同上),添加以下内容:
export JAVA_HOME=$(/usr/libexec/java_home -v 17) export PATH="$JAVA_HOME/bin:$PATH" - 保存后执行source命令生效,再验证
java -version。
方法三:检查系统默认Java指向(可选)
若上述方法无效,可先查看系统所有可用JDK:
/usr/libexec/java_home -V
确认Java 17的路径后,确保PATH中该路径的bin目录排在最前面,重复方法一的步骤即可。
内容的提问来源于stack exchange,提问作者Singam
相关产品推荐
相关产品推荐

