在macos上的设置中,我使用了几个jdk,通过 /usr/libexec/java_home
工具,类似于此答案中描述的方法
升级到macos big sur v11.0.1后,我的java\u 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
3条答案
按热度按时间a5g8bdjr1#
就像我尝试的那样。我只是删除了
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin
重新登录。然后一切正常。klh5stk12#
似乎在macos big sur v11.0.1中
/usr/libexec/java_home -v ...
命令已更改:它对以前设置的值敏感JAVA_HOME
环境变量。确切的行为还不清楚,我找不到任何关于这个的文档,但在我的实验中,它报告了已经设置的版本
JAVA_HOME
,不管-v
开关:此外,我注意到,如果
JAVA_HOME
已设置,但未指向有效的java主页(也适用于-V
):解决办法是确保
JAVA_HOME
在执行前未设置/usr/libexec/java_home
:guicsvcw3#
对我来说,它完全破碎了。取消设置java\u home,/usr/libexec/java\u home提供:
/library/internet插件/javaappletplugin.plugin/contents/home