【问题标题】:Brew installed Java unable to symlink with System java folderBrew 安装的 Java 无法与系统 java 文件夹进行符号链接
【发布时间】:2021-12-17 07:02:59
【问题描述】:

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

我在警告下运行了 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 位置链接,但我可能是错的。

【问题讨论】:

    标签: java java-11 apple-m1


    【解决方案1】:

    我遇到了同样的问题,但是当我运行 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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 2014-10-20
      • 2017-11-21
      相关资源
      最近更新 更多