いつも何も考えずbrew install openjdkとかでインストールしていたが、いろいろ奥が(闇が)深いらしいのでメモ。
javaをAndroid以外の開発で利用することはほとんどないので謎ワールド。
brew install openjdk
インストール
brewコマンドで簡単インストール。
brew install openjdk
が、どうやらkeg-onlyとうものであるため/usr/local/bin等にリンクが自動で張られない。
通常brew installすると/usr/localCellarに実体がインストールされ/usr/local/binにシンボリックリンクが設定され、PATHが通りますが、key-onlyでは実体だけのようです。
2021年3月現在、15.0.2がインストールされるみたい。
PATHの設定
そのため、.zshrcに
export PATH="/usr/local/opt/openjdk/bin:$PATH"
必要に応じて
export CPPFLAGS="-I/usr/local/opt/openjdk/include"
も追加。
その他 設定
JAVA_HOMEの管理ツール?である/usr/libexec/java_homeの管理対象となるためには/Library/Java/JavaVirtualMachinesに実体かシンボリックリンクがある必要があるみたいなので追加しておきます。
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
JAVA_HOME
macでは設定不要との記述が散見されるが、javaエコシステムのツールはJAVA_HOMEが設定されていることが前提で動いているものが多いので設定しておくことが無難っぽい。
静的に記述するのではなく先述の/usr/libexec/java_homeを使うのが一般的らしい。
export JAVA_HOME=`/usr/libexec/java_home -v 15`
設定は/usr/libexec/java_homeコマンドを使うのが主流らしい。。
brew cask install java
brew cask installでインストールしたJavaは何もしないでいいらしい。Oracleのビルド版がインストールされるらしい。
brew cask install java
caskは主にGUIベースのアプリインストールをするもので/Applicationsにインストールされる。
その他
openjdkよりadoptopenjdkとかの方がいいという記述がちらほら。
brew cask install adoptopenjdk