我使用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"