Help us understand the problem. What is going on with this article?

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

追記(2019/11/28)

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

https://qiita.com/gishi_yama/items/ee3526e7e7a922148333

ちなみに、

  • 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 を選択します。

sdks_2.png

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

AdoptOpenJDK11_Home.png

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

sdks_3.png

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

アンインストール方法

通常の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の無償サポートが終了する頃合いなので、まとめ直しました。
gishi_yama
Java User Group Hokkaido #JavaDo Leader, IoTLT Sapporo Staff. R&D: Computers in Education, ICT, Programmer Education. Love:#Java #MobProgramming #codeSpark #ApacheWicket #PostgreSQL
https://sites.google.com/site/cistyamakawa/
iotlt
IoT縛りの勉強会です。 毎月イベントを実施しているので是非遊びに来てください! 登壇者を中心にQiitaでも情報発信していきます。 https://iotlt.connpass.com
https://iotlt.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした