京橋のバイオインフォマティシャンの日常

南国のビーチパラソルの下で、Rプログラムを打ってる日常を求めて、、Daily Life of Bioinformatician in Kyobashi of Osaka

Homebrewで OpenJDK の特定バージョンをインストールするときのTips

Homebrewのインストール・環境設定のやり方については以前の記事を参考に

skume.hatenablog.com

Java について

Javaは、クラスベースのオブジェクト指向の汎用プログラミング言語です。

現在、JavaはOracle社から配布されていますが、 ダウンロードサイトがイマイチ分かりにくいです。

また、オープンソース・バーションとしては、 2007年より、「OpenJDK」*1 としてGNUライセンス下でリリースされています*2

今回の記事では、Mac brewコマンドで、OpenJDK の特定バージョンをインストールする方法を紹介します。

困ったことに、Javaのバージョンが違うと、プログラムコードが動作しないことがよくあります。 ここで、問題となるのは、バージョン番号 と Java バージョン との対応を普段Javaを使わない人は覚えていないということです。 そんなとき、バージョンの対応関係については、次の表を参考にしてほしいです。

バージョン対応表

バージョン番号 Java バージョン リリース
45 JDK 1.1 1996年2月
46 J2SE 1.2 1998年12月
47 J2SE 1.3 2000年5月
48 Java 1.4 2002年2月
49 J2SE 5.0 2004年9月
50 Java SE 6 2006年12月
51 Java SE 7 2011年7月
52 Java SE 8 2014年3月
53 Java SE 9 2017年9月
54 Java SE 10 2018年3月
55 Java SE 11 2018年9月
56 Java SE 12 2019年3月
57 Java SE 13 2019年9月
58 Java SE 14 2020年3月
59 Java SE 15 2020年9月

*2020年12月10日 更新

(2021年2月2日 更新)brew cask install is disabled!」の場合には、、、

結局、以下の2行を実行します。

brew tap AdoptOpenJDK/openjdk

brew install --cask adoptopenjdk12

brewを使って、OpenJDK 12 をMacにインストールする方法

AdoptOpenJDK/openjdk の formula を追加する

$ brew tap AdoptOpenJDK/openjdk

Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
duktape             openfast            redo                vlmcsd
==> Updated Formulae
adios2                     libfabric                  sec
asciidoctorj               libsass                    vdirsyncer
aws-elasticbeanstalk       maxwell                    watchman
clamav                     oniguruma                  weboob
clib                       openimageio                weechat
gdal                       pnpm                       whatmp3
github-release             re-flex                    youtube-dl
ipython                    rswift                     znc
ledger                     seal

==> Tapping adoptopenjdk/openjdk
Cloning into '/usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk'...
remote: Enumerating objects: 109, done.
remote: Counting objects: 100% (109/109), done.
remote: Compressing objects: 100% (103/103), done.
remote: Total 1442 (delta 74), reused 12 (delta 6), pack-reused 1333
Receiving objects: 100% (1442/1442), 253.62 KiB | 542.00 KiB/s, done.
Resolving deltas: 100% (1011/1011), done.
Tapped 32 casks (67 files, 376.1KB).

brew tap は、公式以外の formula を追加するサブコマンドらしい

OpenJDK (コマンドでは小文字) を検索しておく

$ brew search openjdk

==> Formulae
openjdk                                  openjdk@11
==> Casks
adoptopenjdk10                           adoptopenjdk13-openj9-jre
adoptopenjdk11                           adoptopenjdk13-openj9-jre-large
adoptopenjdk11-jre                       adoptopenjdk13-openj9-large
adoptopenjdk11-openj9                    adoptopenjdk14
adoptopenjdk11-openj9-jre                adoptopenjdk14-jre
adoptopenjdk11-openj9-jre-large          adoptopenjdk14-openj9
adoptopenjdk11-openj9-large              adoptopenjdk14-openj9-jre
adoptopenjdk12                           adoptopenjdk14-openj9-jre-large
adoptopenjdk12-jre                       adoptopenjdk14-openj9-large
adoptopenjdk12-openj9                    adoptopenjdk8
adoptopenjdk12-openj9-jre                adoptopenjdk8-jre
adoptopenjdk12-openj9-jre-large          adoptopenjdk8-openj9
adoptopenjdk12-openj9-large              adoptopenjdk8-openj9-jre
adoptopenjdk13                           adoptopenjdk8-openj9-jre-large
adoptopenjdk13-jre                       adoptopenjdk8-openj9-large
adoptopenjdk13-openj9                    adoptopenjdk9

OpenJDK は、どうも、Casksとして登録されているようです。

そこで、Homebrew-caskがインストールされてないなら、まずは入れる

$ brew install cask

OpenJDK 12 のインストール実行

$ brew cask install adoptopenjdk12

==> Downloading https://github.com/AdoptOpenJDK/openjdk12-binaries/releases/down
==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'adoptopenjdk12'.
==> Installing Cask adoptopenjdk12
==> Running installer for adoptopenjdk12; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are i
Password:
installer: Package name is AdoptOpenJDK
installer: Upgrading at base path /
installer: The upgrade was successful.
🍺  adoptopenjdk12 was successfully installed!

(2021年2月2日 更新)brew cask install is disabled!」の場合には、、、

結局、以下の2行を実行します。

brew tap AdoptOpenJDK/openjdk

brew install --cask adoptopenjdk12

Java と Javac のバージョンを確認しておく

$ java -version
openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment AdoptOpenJDK (build 12.0.2+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 12.0.2+10, mixed mode)

$ javac -version
javac 12.0.2

これで、OpenJDK 12 のインストールは完了です。

まとめ

brew tap で、OpenJDK をインストールできるようになることを知っていれば、特に問題なくできるように思います。。

参考文献

skume.net

qiita.com

*1:JDKは、Java SE Development Kitの略で、Javaでプログラムを作成する際の開発キットである。

*2:https://ja.wikipedia.org/wiki/Java#Java%E3%81%AE%E6%AD%B4%E5%8F%B2