【问题标题】:Unable to install java8 with homebrew无法使用自制软件安装 java8
【发布时间】:2019-09-14 00:48:37
【问题描述】:

使用 Homebrew 安装 java8 似乎不再有效。运行后:

brew install caskroom/cask/java8

我收到以下错误:

Error: Cask 'java8' is unavailable: '/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask/Casks/java8.rb' does not exist.

简单地做:

brew cask install java8

错误:

Error: Cask 'java8' is unavailable: No Cask with this name exists.

这似乎是最近的发展,因为我记得几个月前以这种方式安装它。现在有什么关于如何在 MacOS 上正确安装 java8 的建议吗?

【问题讨论】:

  • 这个工作:$ brew cask install 采用openjdk

标签: java macos java-8 homebrew


【解决方案1】:

这已作为 github 问题得到回答:https://github.com/Homebrew/homebrew-cask-versions/issues/7253

TLDR:java8 人工制品是指 Oracle 发行版,它已不再受支持/可用。如果你真的需要 java 1.8 而不是最新版本,你可以看看AdoptOpenJDK/homebrew-openjdk

【讨论】:

  • 谢谢。两者有区别吗?
  • 推测 oracle 发行版可能有专有添加,而 AdoptOpenJDK 发行版只是开源 OpenJDK 项目的构建。
【解决方案2】:

现在是新命令:

brew install --cask homebrew/cask-versions/adoptopenjdk8

【讨论】:

  • 对我不起作用,但这符合 Corey 的建议 - brew cask install homebrew/cask-versions/adoptopenjdk8
  • 更新后的命令是brew install --cask homebrew/cask-versions/adoptopenjdk8
  • 这对我也有用 uMdRupert - 谢谢!
  • 我也是,@uMdRupert。很抱歉添加“我也是!”但是这里还有很多其他的东西可以尝试。在尝试那个之前我几乎放弃了。
【解决方案3】:

命令现在是brew cask install homebrew/cask-versions/adoptopenjdk8

【讨论】:

    【解决方案4】:

    命令是

     brew cask install adoptopenjdk8-openj9
    

    解决了我的问题,我可以在 java8 中运行我的项目

    java-版本

    openjdk 版本“1.8.0_222

    OpenJDK 运行时环境(内部版本 1.8.0_222-b10)

    Eclipse OpenJ9 VM(构建 openj9-0.15.1,JRE 1.8.0 Mac OS X amd64-64-Bit Compressed References 20190717_298(启用 JIT,启用 AOT)

    OpenJ9 - 0f66c6431

    OMR - ec782f26

    JCL - f147086df1 基于 jdk8u222-b10)

    【讨论】:

      【解决方案5】:

      虽然 cask 移除了对 JAVA8 的支持,但我们仍然可以使用 brew 安装 JAVA8。

      需要手动下载JAVA8.dmg,添加cask可以使用的java8.rb。

      机器:MAC

      操作系统:Mojave (10.14.6)

      JAVA版本:java 8u231

      第一步

      Oracle Site 下载 dmg 文件。您需要 oracle 帐户才能下载相同的文件

      第二步

      从您下载 dmg 文件的文件夹启动 HTTP 服务器。对我来说是~/Downlaods,我使用 python 来启动 HTTP 服务器:

      python -m SimpleHTTPServer 8000

      第三步

      /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask/Casks(存在java.rb)中创建文件java8.rb并添加以下内容:

      cask 'java8' do
        version '8u231,b15:9eef341qase34d44fbaa21'
        sha256 'f808d11b34fa9ee7b6326b5b6dd18544496e02c84b839d94e062bd4493df5d45'
      
        url "http://localhost:8000/jdk-#{version.before_comma}-macosx-x64.dmg",
            cookies: {
                       'oraclelicense' => 'accept-securebackup-cookie',
                     }
        name 'Oracle Java 8 Standard Edition Development Kit'
        homepage 'https://www.oracle.com/technetwork/java/javase/overview/index.html'
      
        depends_on macos: '>= :yosemite'
      
        pkg 'JDK 8 Update 231.pkg'
      
        uninstall pkgutil: "com.oracle.jdk#{version.before_comma}",
                  delete:  [
                             '/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin',
                             '/Library/PreferencePanes/JavaControlPanel.prefPane',
                           ]
      
        zap trash: [
                     '~/Library/Application Support/Oracle/Java',
                     '~/Library/Application Support/com.oracle.java.JavaAppletPlugin.plist',
                     '~/Library/Application Support/com.oracle.javadeployment.plist',
                   ]
      
        caveats do
          license 'https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html'
        end
      end
      
      
      

      第四步

      现在,使用 brew 安装:

      brew cask install java8

      注意:我从上面提到的 java 下载链接中获得了 SHA-256 校验和。您将不得不更改版本号、sha256 和 pkg 部分使用您下载的特定版本,如果它不是像我这样的 8u231。

      【讨论】:

      【解决方案6】:

      要求用户安装 Oracle JDK 8 而不是 java8

      【讨论】:

        【解决方案7】:
        brew install homebrew/cask-versions/adoptopenjdk8 --cask
        

        在自制酒桶的最新变化中必须在最后。

        【讨论】:

          【解决方案8】:

          对于 Homebrew 2.7.0。 brew cask 命令被禁用

          命令现在改为

          brew install --cask 采用openjdk/openjdk/adoptopenjdk8

          【讨论】:

            【解决方案9】:

            供新版本使用 brew install --cask adoptopenjdk/openjdk/adoptopenjdk8

            【讨论】:

              【解决方案10】:

              对于一些较新版本的操作系统,我们可以使用以下命令:

              brew install --cask homebrew/cask-versions/adoptopenjdk8
              

              【讨论】:

                【解决方案11】:

                AdoptOpenJDK 已被弃用,并已从 Adoptium 过渡到 Eclipse Temurin。请参阅此博客文章: https://blog.adoptopenjdk.net/2021/03/transition-to-eclipse-an-update/

                要使用 Homebrew 安装 Temurin Java 8,即 1.8,您可以使用:

                brew tap homebrew/cask-versions
                brew install --cask temurin8
                

                如果您已经使用其他答案中的命令安装了 AdoptOpenJDK,则应先将其卸载:

                brew uninstall --cask adoptopenjdk8

                您还可以下载 .pkg 进行手动安装(以前 AdoptOpenJDK 的链接现在指向此处): https://adoptium.net/?variant=openjdk8

                【讨论】:

                  猜你喜欢
                  • 2020-09-02
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-09-11
                  • 2021-09-26
                  • 2021-03-13
                  • 1970-01-01
                  相关资源
                  最近更新 更多