任意のJDKをHomebrew経由でインストールする

Apr 5, 2019   #homebrew  #jdk 

はじめに

macOSに任意のJDKをインストールしたい。

TL;DR

  • 複数のプロジェクトで異なるバージョンを使用するときはjEnvが良さげ。

  • 単一のJavaのプロジェクトしか扱わない場合は homebrew で versions をtapする。

こちらに関しては以下のリンクが参考になる。 【Mac】HomebrewでJavaをインストールする - Reasonable Code homebrew-versionsはその名の通り、バージョンを指定してインストールする拡張機能である。

$ brew tap caskroom/versions

その後、以下をjavaをsearchしてみる。

$ brew search java
==> Formulae
app-engine-java      google-java-format   javarepl             jslint4java          libreadline-java

==> Casks
charles-applejava          java ✔                     java6                      oracle-jdk-javadoc
charles-applejava          java ✔                     java8                      oracle-jdk-javadoc
eclipse-java               java-beta                  java8                      yourkit-java-profiler
eclipse-java               java-beta                  netbeans-java-ee           yourkit-java-profiler
eclipse-javascript         java11                     netbeans-java-ee
eclipse-javascript         java11                     netbeans-java-se
font-noto-sans-javanese    java6                      netbeans-java-se

※ここでtapした拡張機能は /usr/local/Homebrew/Library/Taps に存在する。

❯ ls /usr/local/Homebrew/Library/Taps
caskroom	homebrew	sachaos		yusukehosonuma
heroku		rcmdnk		sanemat

/usr/libexec

caskでJDKをインストールした後はインストールされた場所を調べる。

/usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    11.0.1, x86_64:	"OpenJDK 11.0.1"	/Library/Java/JavaVirtualMachines/openjdk-11.0.1.jdk/Contents/Home
    1.8.0_202-zulu-8.36.0.1, x86_64:	"Zulu 8"	/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/openjdk-11.0.1.jdk/Contents/Home

いきなり現れた /usr/libexec/usr/bin//usr/sbin/ の内部でcallされる補助的なコマンドである。

補助コマンドは /usr/libexec に - ソフトウェアエンジニア現役続行

ちなみにオプションである -V をなしで実行するとインストール済みの最新のJDKが1つ表示される。

あとは、シェルの環境変数としてパスを通せば良い。