在brew cask install java之后java的路径仍然是/ usr/bin/java

Aar*_*rel 7 java installation homebrew path

我用自制软件安装java,使用命令brew cask install java.

成功安装后,我键入了哪个java,路径显示为/ usr/bin/java

当我输入brew cask info java时,会显示:

java:1.8.0_102-b14 Java标准版开发工具包

/usr/local/Caskroom/java/1.8.0_102-b14(227.5M) https://github.com/caskroom/homebrew-cask/blob/master/Casks/java.rb 内容JDK 8更新102.pkg(PKG注意事项此Cask对JRE进行了少量修改,以防止打包应用程序出现问题,如下所述:如果您的Java应用程序仍然要求安装JRE,则可能需要重新启动或注销/登录.

安装此Cask意味着您已同意Java SE的Oracle二进制代码许可协议

我忘记链接了什么吗?

Off*_*rmo 9

/usr/bin/java 是一个符号链接.

要查看它指向的位置,请键入 ls -la /usr/bin/java

brew cask正在安装 /Library/Java/JavaVirtualMachines/jdk1.8.0_something.jdk/Contents/Home

如果上一个命令ls -la与此匹配,那么你很好.

如果没有,这意味着您以前有另一个Java安装.在这种情况下,您可能希望使用jenv之类的工具在多个安装之间切换.

  • 这并不总是正确的。酿造安装。(没有木桶)不会那样做 (3认同)
  • 运行 `brew --prefix java`,这样你就可以找到正确的 java 位置。就我而言,使用 wsl,java 具有以下位置:`/home/linuxbrew/.linuxbrew/opt/openjdk` (3认同)

小智 5

要添加到@djangofan ..当我重新安装brew时,我注意到以下消息:

==> Pouring openjdk--17.0.1_1.big_sur.bottle.tar.gz
==> Caveats
For the system Java wrappers to find this JDK, symlink it with

  sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

openjdk is keg-only, which means it was not symlinked into
/usr/local, because macOS provides similar software and
installing this software in parallel can cause all kinds of
trouble.

If you need to have openjdk first in your PATH, run:
 echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> /Users/johndoe/.bash_profile

For compilers to find openjdk you may need to set:
  export CPPFLAGS="-I/usr/local/opt/openjdk/include"
Run Code Online (Sandbox Code Playgroud)

就他的观点而言,我没有通过木桶安装。我假设您在安装时收到了类似的消息,但您只是没有注意到。

  • 如果您需要再次看到此消息,只需在终端中添加以下行即可: `brew info java` 重要的一点如下: `echo 'export PATH="/usr/local/opt/openjdk/bin:$ PATH"' >> ~/.zshrc` 这将确保从现在开始每次打开新终端时都使用最新的酿造 java 版本(在我的示例中,我使用 zsh,因此在 `.zshrc` 文件中) (2认同)