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

まずは、データ分析、コマンドラインのメモとして

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

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

skume.hatenablog.com

Java について

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

現在、JavaOracle社から配布されているが、 ダウンロードサイトがイマイチ分かりにくい。 また、オープンソース・バーションとしては、 2007年より、「OpenJDK」*1 としてGNUライセンス下でリリースされている*2

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月

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

1. 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 を追加するサブコマンドらしい

2. 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として登録されているようだ。

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

$ brew install cask

4. 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!

5. 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 をインストールできるようになることを知っていれば、特に問題なくできる。。

参考文献

https://installvirtual.com/install-openjdk-12-on-mac-os-using-brew/

brew tap で入れる Homebrew 外部コマンド - Qiita

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

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