如何通过Mac的java_home命令选择同版本AdoptOpenJDK而非Zulu OpenJDK
基于java_home命令的AdoptOpenJDK切换方案
多个同版本JDK共存时,/usr/libexec/java_home 会按照内置排序规则,返回匹配到的优先级最高的JVM路径,这也是原配置从指向AdoptOpenJDK变为指向Zulu OpenJDK的原因。结合你给出的JVM列表,两个1.8版本JDK可以通过架构参数精准区分,全程不需要硬编码JDK的固定安装路径。
具体配置修改
编辑.zshrc文件,将原有JAVA_HOME配置修改为:
export JAVA_HOME=$(/usr/libexec/java_home -v '1.8*' -a x86_64)
参数说明:
-v '1.8*':保留原有版本匹配规则,覆盖所有1.8大版本的JVM-a x86_64:新增架构过滤规则,仅匹配架构为x86_64的JVM,精准对应列表中的AdoptOpenJDK条目,和arm64架构的Zulu OpenJDK完全区隔
配置修改完成后,执行source ~/.zshrc 让配置生效,通过echo $JAVA_HOME 即可验证返回路径为AdoptOpenJDK对应的安装目录。
补充说明
这个方案完全依托java_home 命令本身的原生参数完成匹配,没有脱离“仅通过java_home命令实现切换”的约束。后续如果新增或移除JDK导致匹配结果变动,可以重新运行/usr/libexec/java_home -V 查看当前系统的JVM列表,根据条目的差异调整过滤参数即可。
内容的提问来源于stack exchange,提问作者Elye
相关产品推荐
相关产品推荐

