【问题标题】:How to install Java 9 and 10 on Mac with Homebrew?如何使用 Homebrew 在 Mac 上安装 Java 9 和 10?
【发布时间】:2019-07-01 03:47:34
【问题描述】:

我尝试使用 Homebrew 在 macOS 上安装 Java 9 和 10:

brew cask install java9

我收到以下错误:

错误:Cask 'java9' 不可用:不存在同名的 Cask。

和:

brew cask install caskroom/versions/java9

给了我:

错误:木桶“java9”不可用:

'/usr/local/Homebrew/Library/Taps/caskroom/homebrew-versions/Casks/java9.rb' 不存在。

为什么这不起作用以及如何在 macOS 上安装 Java?

【问题讨论】:

  • 这可能对你有帮助....tecadmin.net/install-java-macos
  • 是的,我试过了,我可以安装 Java 11,但不能安装 Java 9 或 10:/
  • sdkman.io 是处理诸如 java 之类的东西的替代方法,它上面确实有较旧的 SDK。也可以在 8/9/10/11 等之间切换,并在其中安装您自己的软件版本来处理切换。

标签: java macos homebrew


【解决方案1】:

Oracle 不支持 Java 9 和 Java 10 版本。建议用户改用 Java 11。 Brew 也为这两个版本移除了酒桶。

这里是来自 oracle 的官方链接,其中提到他们删除了对 Java 9 和 Java 10 的支持。

https://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html https://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html

当您执行brew cask install java 时,它将安装最新版本,而您仍然可以使用brew cask install java8 安装java 8

homebrew 的 github 链接下面明确提到,当 oracle 停止支持 java10 时,他们将删除 java10 cask。

https://github.com/Homebrew/homebrew-cask-versions/pull/6305

总结

Java 9Java 10 是 oracle 的非 LTS(长期支持)版本,根据 oracle 的新发布模式,一旦新版本发布,它们将停止支持非 LTS 版本,因此 Java 9 在以下情况下失去支持10 发布,Java 10 在 11 发布时失去了支持,但 Java 8 和 Java 11 是 LTS 版本,所以 oracle 将长期支持它。

Oracle 停止支持意味着这些版本的下载不公开。

【讨论】:

  • hmmm 我想知道您是如何进行库开发并轻松使用 Java9 或 Java10 进行测试的?
  • Java 9 和 Java 10 是 oracle 的非 LTS(长期支持)版本,根据 oracle 的新发布周期,一旦新版本发布,它们将停止支持非 LTS 版本,因此 Java 9 丢失它在 10 发布时支持,Java 10 在 11 发布时失去支持,但 Java 8 和 Java 11 是 LTS 版本,因此 oracle 将长期支持它。
  • @andrew-janke 对这个问题的回答对我有用:stackoverflow.com/a/55775518/1420881
  • 安装最新的 java 版本(在我的例子中是 13.0.1)后,我从 macos 收到了一个身份验证问题。这样解决了:apple.stackexchange.com/questions/372744/…
【解决方案2】:

不再支持那些 Oracle JDK,并且 Homebrew 核心不会为不受支持的软件发布公式。

您是否特别需要 Oracle 的 JDK,或者您可以使用任何 JDK? AdoptOpenJDK JDK 仍然可用,它们是从与 Oracle 的 JDK 相同的代码库构建的;只是包装不同。它们与 Oracle 的 JDK 做的事情几乎相同。而且它们仍然受到支持。

从 Java 11 开始,您可能需要从 Oracle 切换到 OpenJDK,因为 Oracle has ended the free licensing of the JDK

从 AdoptOpenJDK 安装 JDK:

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk9
brew cask install adoptopenjdk10
brew cask install adoptopenjdk11

【讨论】:

  • 我的 Mac 仍然保留着 Oracle 的 Jdk 12,并且拒绝识别 Homebrew 安装了什么。
  • 如果您安装了多个 JDK,那么来自 macOS 的 Java shims 通常会选择您安装的最新版本,因此 JDK 12 将是 JDK 9、10 或 11 的默认值。如果您想要要使用旧版本,请卸载 JDK 12,设置 $JAVA_HOME 环境变量,或修改 Java 调用以使用带有 /usr/libexec/java_home 的版本选项。
  • brew cask install 采用openjdk #.这也有效。
  • 现在,您可以省略“cask”位,只需执行brew install adoptopenjdk9 之类的命令来执行JDK 9 的安装
  • 谢谢瑞克!一旦我有机会对此进行测试,我会更新我的答案。
【解决方案3】:

从 2021 年开始,您应该跑步

brew tap adoptopenjdk/openjdk
brew install --cask adoptopenjdk9

让它工作

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 2017-07-21
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 2015-04-08
    • 2016-09-01
    相关资源
    最近更新 更多