How to install Java 9 and 10 on Mac with Homebrew?

As of 2021, you should run

brew tap adoptopenjdk/openjdk
brew install --cask adoptopenjdk9

to make it work


Those Oracle JDKs are no longer supported, and Homebrew core does not publish formulae for unsupported software.

Do you specifically need Oracle's JDK, or can you use any JDK? The AdoptOpenJDK JDKs are still available, and they're built from the same codebase as Oracle's JDK; just packaged differently. They do the same things as Oracle's JDK, pretty much. And they're still supported.

And as of Java 11, you may well need to switch from Oracle to OpenJDK, because Oracle has ended the free licensing of the JDK.

To install the JDKs from AdoptOpenJDK:

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

Oracle does not support Java 9 and Java 10 releases. users are advised to use Java 11 instead. Brew removed casks for both releases as well.

Here are the official links from oracle which mention that they removed support for Java 9 and 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

When you will do brew cask install java it will install the latest version while you can still install java 8 by using brew cask install java8

Below github link from homebrew clearly mentioned that when oracle stops supporting java10 then they will remove java10 cask.

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

Summary

Java 9 and Java 10 were non LTS(Long time support) releases from oracle and according to new release pattern from oracle, they will stop supporting non LTS release as soon as new version released thus Java 9 lost its support when 10 was released and Java 10 lost its support when 11 was released but Java 8 and Java 11 are LTS release so oracle will support it for long time.

Oracle stops supporting means download for those versions are not publicly available.