如何使用Homebrew在macOS Mojave上安装Java 8?

34

目前,一些应用程序仍需要Java 8,例如:

  • Android SDK / Android Studio
  • Jenkins
  • Ionic ...

使用 brew install java 命令会安装最新版的Java。但是如何安装Java 8呢?


1
这个问题适合在StackExchange上讨论吗? - Adrian M.
如果您使用sdkman!,则它可以在Mac OSX、Linux、Cygwin、Solaris和FreeBSD上运行。例如,sdk ls javasdk use 8.0.192-zulu - Elliott Frisch
5个回答

79

在Homebrew中,旧版的Oracle JDK已经不再使用。请改用OpenJDK:

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk8

OpenJDK在大多数情况下可以作为Oracle JDK的替代品,因此您无需更改代码或构建过程即可使用。


8
值得注意的是,brew tap caskroom/versions 也包括 adoptopenjdk8。我个人更喜欢这个,因为它还包含其他有用的东西。针对此方法,请直接使用原始答案。 - Chris H.
1
谢谢你的建议!我想我会选择adoptopenjdk/openjdk tap作为我的答案,因为它是由AdoptOpenJDK自己维护的,所以很可能是OpenJDK配方的规范来源,并且它还包括所有其他JDK版本8-12和变体。但是,如果您还想要其他Cask事物的版本并且已经安装了它,请使用caskroom/versions中的adoptopenjdk8也可以正常工作。 - Andrew Janke
4
2019年10月可行的方法是:brew cask install adoptopenjdk/openjdk/adoptopenjdk8 - ruhong
在我的电脑上,执行 brew cask install adoptopenjdk8 失败并提示 Cask adoptopenjdk8 exists in multiple taps:。@ruhong 的回答解决了这个问题。 - JE42
看起来 homebrew/cask-versions 已经添加了一个 adoptopenjdk8 的公式(请参见 https://github.com/Homebrew/homebrew-cask-versions/commit/0fbb1e8389e0516088bc76f5e2cb72c6b7ead23f#diff-b2f0d6ab34fa3bf53224bd573b59ee64)。在这种情况下,您可以跳过 brew tap adoptopenjdk/openjdk 步骤,而且您不必限定名称,brew cask install adoptopenjdk8 仍然可以工作。 - Andrew Janke

13

此答案已过时。

您可以按照以下方式在macOS Mojave上安装Java 8:

brew tap caskroom/versions
brew cask install java8

如果已安装了最新的Java版本,请使用以下方式卸载它:

brew cask remove java

就我所知,似乎版本的 tap 已被弃用,并且版本支持已从核心移动(根据我随后收到的警告)。 - Chris Conover
我收到了“错误:Cask 'java'未安装。”然后检查java - version,仍显示java版本“11.0.2”2019-01-15 LTS。 - jcdsr
4
注意:自2019年4月起,这种方法已不再适用,因为“java8”桶已经不存在。需要改用OpenJDK桶来安装旧版本的Java。 - Andrew Janke
1
这已经过时了。 - Evhz

4

现在可用的更新命令如下:

brew tap homebrew/cask
brew tap homebrew/cask-versions
brew install --cask adoptopenjdk/openjdk/adoptopenjdk8

这太棒了。它避开了brew install java报错的问题:“openjdk:此软件需要macOS Catalina或更新版本。错误:openjdk:未满足要求,构建失败。” - smci

3

假设:您正在使用Mac电脑,并且已经安装了Homebrew。

安装cask(如果您的Homebrew版本是0.9.5或更高版本,则已包括cask,可以跳过此步骤):

$ brew tap caskroom/cask
$ brew tap caskroom/versions

安装最新版的Java:
$ brew cask install java

安装Java 8:
$ brew cask install adoptopenjdk/openjdk/adoptopenjdk8

如果你想要安装和管理多个版本,可以使用 'jenv':
安装并配置 jenv:
$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

将已安装的Java添加到jenv:
将已安装的Java添加到jenv:
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

查看所有已安装的Java:

$ jenv versions

以下命令将列出已安装的Java列表:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

配置要使用的Java版本:

$ jenv global oracle64-1.6.0.39

设置JAVA_HOME的步骤:

$ jenv enable-plugin export

0
brew reinstall --cask adoptopenjdk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接