HomeBrew で AdoptOpenJDK をインストールしてみた(訂正版)


追記(2019/11/28)

下記の衝突も一段落したようなので、HomebrewでインストールできるJDKをまとめました。

ちなみに、

  • adoptopenjdkプロジェクトはJDKを全てバージョン番号付きのcaskで提供する
  • homebrew-cask(versions)はバージョン無しで最新版のcaskを提供する

といった形で落ち着いたようです。

追記(2019/8/27)

homebrew-cask-versions と AdoptOpenJDK 8 を使いたい人むけ

4月下旬に homebrew-cask-versions にも AdoptOpenJDK 8 のcaskが追加されてしまい、homebrew-cask-versions と AdoptOpenJDK のプロジェクトを両方をtapしているユーザは、 caskが衝突してしまいます。

Error: Cask adoptopenjdk8 exists in multiple taps:
  caskroom/versions/adoptopenjdk8
  adoptopenjdk/openjdk/adoptopenjdk8

なので、どちらかを指定してインストールしましょう。

## homebrew-cask-versions を使う場合
brew cask install caskroom/versions/adoptopenjdk8

or

## adoptopenjdk を使う場合
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

Note that:

これ、改善はどっちのプロジェクトの issue になげたらいいんでしょうかね?

その後、cask, cask-versions, adoptopenjdkのプロジェクトをまたがって議論されていますが、「命名規則をどうするか」の意見がうまく定まらず、議論が続いています。しばらくは重複状態のままかなと思います。

複数リポジトリを持てるパッケージマネージャーだと、こういうときの合意形成が大変ですね...


以降は通常のインストール方法についてです。

1. Caskでのインストール方法

AdoptOpenJDK/openjdk をtapします。

tapしなくても、AdoptOpenJDK 11 はインストールできるのですが、例えばJDK 8 などのAdoptOpenJDKをインストールしたい場合は、 tap が必要です。

brew tap AdoptOpenJDK/openjdk

brew cask install で、利用したい AdoptOpenJDK バージョンのインストールを行います。

# AdoptOpenJDKの最新版
brew cask install adoptopenjdk

# AdoptOpenJDK11の場合(tap後に実行可能)
brew cask install adoptopenjdk11

# AdoptOpenJDK8の場合(tap後に実行可能)
brew cask install adoptopenjdk8

これまでの Oracle JDK や Oracle Open JDK Build と同じく、/Library/Java/JavaVirtualMachines/adoptopenjdk-XX.jdk/Contents/Home (XXはバージョン番号) にインストールされます。

$JAVA_HOME などのパス設定もこれまでの

# XX はバージョン番号
export JAVA_HOME=`/usr/libexec/java_home -v XX`

と同じままで利用出来ます。

動作確認

java -version

# AdoptOpenJDK11の場合
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.1+13)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.1+13, mixed mode)

2. IntellIJ IDEAに設定してみる

AdoptOpenJDK で動作確認したいプロジェクトで cmd + して、 Project Structure ダイアログを開きます。

左側で SDKs を選択します。

JDK home path の入力欄右側のディレクトリアイコンを押して、設定したいバージョンのAdoptOpenJDKのパスを使って、 /Library/Java/JavaVirtualMachines/adoptopenjdk-XX.jdk/Contents/Home を設定します。

Classpathが読み込まれますので、 Apply もしくは OK で決定します。

以上で設定完了です。かんたん。

アンインストール方法

通常のcaskと同様に、uninstallコマンドです。

## XXはバージョン番号
brew cask uninstall adoptopenjdkXX

各JDKのHomeBrewでのインストールコマンド

今のところ、HomeBrew Caskでのインストールコマンドは下のような感じです。

brew cask install java
  ## Oracle Build OpenJDK (GPLv2+CE)
  ## Oracleがビルドした、半年更新の無償版

brew cask install oracle-jdk
  ## Oracle JDK (OTN, BCL)
  ## Oracleがビルドした、LTS対応のサポート有償版

brew cask install adoptopenjdk
  ## Adopt OpenJDK Build(GPLv2+CE)
  ## IBMやMicrosoftがスポンサーをするAdoptOpenJDKコミュニティがビルドした、4年サポート付き無償版

brew cask install corretto
  ## Amazon Corretto
  ## Amazonが提供する無償LTSのOpenJDK、2018年1月段階でまだプレビュー版。

brew cask install zulu
  ## Azul Zulu
  ## Azul SystemsがビルドしたOpenJDK、MicrosoftのAzure上は無償LTS

それぞれのJDKの特徴は

などで詳しく報告されています。

更新履歴

  • 2019/04/24 追記を追加
  • 2019/01/18 そろそろ Oracle JDKの無償サポートが終了する頃合いなので、まとめ直しました。