Brew安装的Java无法与System Java文件夹进行符号链接



我使用Homebrew在我的M1 mbp 上运行命令安装了Java11

brew search java
brew install java11

它安装了java版本。然后当我运行时

brew info java

我得到这个

openjdk: stable 17.0.1 (bottled) [keg-only]
Development kit for the Java programming language
https://openjdk.java.net/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/openjdk.rb
License: GPL-2.0-only with Classpath-exception-2.0
==> Dependencies
Build: autoconf ✔
==> Caveats
For the system Java wrappers to find this JDK, symlink it with
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
openjdk is keg-only, which means it was not symlinked into /opt/homebrew,
because macOS provides similar software and installing this software in
parallel can cause all kinds of trouble.
==> Analytics
install: 229,799 (30 days), 652,569 (90 days), 2,040,179 (365 days)
install-on-request: 64,996 (30 days), 187,761 (90 days), 591,813 (365 days)
build-error: 5,513 (30 days)

我在Caveats下执行sudo命令,但我不知道它是否起到了什么作用。当我运行时

Java --version

我得到这个

The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

我不明白为什么会发生这种事。我以前启动并运行过Java,但我必须格式化并安装一个新的操作系统副本,现在当我试图再次安装Java时,我遇到了这个问题。我假设Homebrew java安装位置之间的符号链接没有与系统java位置链接,但我可能错了。

我也遇到了同样的问题,但当我运行brew info java时,它给了我一些运行步骤:

sudo ln -sfn /Users/${whoami}/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
export PATH="/home/${whoami}/homebrew/opt/openjdk/bin:$PATH"
java -version 
# This should work
# To make the export permanent
echo 'export PATH="/Users/${whoami}/homebrew/opt/openjdk/bin:$PATH"' >> ~/.zshrc 

假设${whoami}(您的用户名与主文件夹相同(。否则,请将变量替换为实际的文件夹名称。

此外,看起来您想要java11,您可能在~/homebrew/opt/下有它

你可以搜索:

find ~/homebrew/ -name '*openjdk*'

你会发现一个像openjdk@11这样的文件,对我来说它在~/homebrew/opt/openjdk@11中,在这种情况下,你可以导出:

export PATH="/home/${whoami}/homebrew/opt/openjdk@11/bin:$PATH"

而不是

export PATH="/home/${whoami}/homebrew/opt/openjdk/bin:$PATH"

最新更新