gpt4 book ai didi

java - 升级到macOS Big Sur v11.0.1后的JAVA_HOME错误

转载 作者:行者123 更新时间:2023-12-03 10:03:32 25 4
gpt4 key购买 nike

在macOS上的设置中,我正在使用多个JDK,通过/usr/libexec/java_home工具在它们之间进行切换,类似于this SO answer中描述的方法。
升级到macOS Big Sur v11.0.1后,我的JAVA_HOME设置停止工作,始终报告相同的Java版本:

% /usr/libexec/java_home -V
Matching Java Virtual Machines (5):
11.0.8 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
1.8.162.12 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_162 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
1.8.0_45 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
1.7.0_45 (x86_64) "Oracle Corporation" - "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

% /usr/libexec/java_home -v 1.8.162.12
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

% /usr/libexec/java_home -v 1.7.0_45
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home

最佳答案

在macOS Big Sur v11.0.1中似乎/usr/libexec/java_home -v ...命令的行为已更改:它对JAVA_HOME环境变量的先前设置值敏感。
确切的行为尚不清楚,我找不到关于它的任何文档,但是在我的实验中,它报告了已经在JAVA_HOME中设置的版本,而不管-v开关如何:

% JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home /usr/libexec/java_home -v 1.8.0_162
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
另外,我注意到,如果设置了 JAVA_HOME,它什么也没有报告,但没有指向有效的Java主页(同样针对 -V):
% JAVA_HOME=dummy /usr/libexec/java_home -v 1.7.0_45
% JAVA_HOME=dummy /usr/libexec/java_home -V
%
解决方案是在执行 JAVA_HOME之前确保未设置 /usr/libexec/java_home:
% unset JAVA_HOME ; /usr/libexec/java_home -v 1.8.0_162
/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home

关于java - 升级到macOS Big Sur v11.0.1后的JAVA_HOME错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64917779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com