追記(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のプロジェクトをまたがって議論されていますが、「命名規則をどうするか」の意見がうまく定まらず、議論が続いています。しばらくは重複状態のままかなと思います。
複数リポジトリを持てるパッケージマネージャーだと、こういうときの合意形成が大変ですね...
- Homebrew/homebrew-cask-versions: "Add AdoptOpenJDK 8"
- Homebrew/homebrew-cask-versions: "Update and rename adoptopenjdk8.rb to openjdk8.rb"
- AdoptOpenJDK/homebrew-openjdk: Cask adoptopenjdk8 exists in multiple taps
- Homebrew/homebrew-cask: "Rename adoptopenjdk.rb to openjdk.rb" ←いまここ
以降は通常のインストール方法についてです。
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の特徴は
今後のサポートとアップデートに関して、Javaチャンピオン数十名が執筆したJava is Still Freeというドキュメントが、関ジャバを含む日本のJavaコミュニティにより翻訳され、公開となりました。有償化と誤情報がウェブ上で散見されます。不安を持たれた方もぜひご覧ください。https://t.co/smdVRqs9dS
— 関西Javaエンジニアの会 (@kan_java) October 9, 2018
などで詳しく報告されています。
更新履歴
- 2019/04/24 追記を追加
- 2019/01/18 そろそろ Oracle JDKの無償サポートが終了する頃合いなので、まとめ直しました。