当 /usr/libexec/java_home 返回错误时,如何在 MacOS Monterey 中设置 JAVA_HOME?

Gay*_*ppu 3 java macos java-home macos-monterey

我最近买了一台配备 MacOs Monterey 的新 MacBook Pro (2021) 16" 并尝试安装 Java (openjdk11)。我安装了 Homebrew 并用于brew install openjdk@11安装 java。执行java --version命令时我得到以下信息,

\n
openjdk 11.0.15 2022-04-19\nOpenJDK Runtime Environment Homebrew (build 11.0.15+0)\nOpenJDK 64-Bit Server VM Homebrew (build 11.0.15+0, mixed mode)\n
Run Code Online (Sandbox Code Playgroud)\n

但是当我执行时/usr/libexec/java_home,我得到以下结果,

\n
The operation couldn\xe2\x80\x99t be completed. Unable to locate a Java Runtime.\nPlease visit http://www.java.com for information on installing Java.\n
Run Code Online (Sandbox Code Playgroud)\n

添加JAVA_HOME=$(/usr/libexec/java_home)~/.zshrc.

\n

甚至文件夹/Library/Java/JavaVirtualMachines/也是空的。

\n

尝试根据卸载www.java.com然后重新安装使用brew但仍然遇到同样的问题。

\n

终端

\n

小智 6

在 Homebrew OpenJDK 公式页面(最后一次检查:2022 年 12 月 19 日)上, 有这样一条注释

为了让系统 Java 包装器找到这个 JDK,将其符号链接为 sudo ln -sfn $(brew --prefix)/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

如果像我一样您需要JAVA_HOME在 shell 中使用该变量,您可以将其添加到您的~/.zshrc

export JAVA_HOME=$(/usr/libexec/java_home)
Run Code Online (Sandbox Code Playgroud)

(使用 MacOS Monterey 和 Ventura 更新进行测试)。