ド。(いつものやつ)
2020年時点で改めてよさそうな Java のインストール方法についてまとめておきます。
ちなみにですが、
- Scala(sbt)を利用する。
- Scala のプロダクトでは Java 8 を使用し、プライベートでは Java 14 を使用する。
- Open JDK そのものの縛りは特にない。
- macOS を使用する。
という前提のもと行う環境構築です。jenv
を利用してバージョンの切り替えを行いながら開発することを前提としています。IntelliJ を使用しているとほとんど意識することはないんですが。
インストール方法
brew tap
をして、AdoptOpenJDK を入れます。
$ brew tap AdoptOpenJDK/openjdk
JDK 8 なら、下記のように入力すると入れられます。
$ brew cask install adoptopenjdk8
AdoptOpenJDK という選択肢
- OpenJDK 系にはいくつか選択肢があるが、プロダクトとしては Scala を使う。
- Scala では sbt を使う。
- sbt は AdoptOpenJDK を推奨している。https://www.scala-sbt.org/1.x/docs/Setup.html
という観点から、今回は AdoptOpenJDK を使用しています。
jenv で複数バージョンを管理する
Java は最近、バージョンリリースのサイクルが速くなりました。サクッと最新版を試したいけれど、普段のプロダクトでは少し古いバージョンを使用しているということもあるかと思います。
そういったときには jenv
というツールが使えます。
brew install jenv
をして、
jenv versions
で、動いているかを確認します。その後、AdoptOpenJDK で入れたバージョンたちを次のようなコマンドで追加していくと、jenv の管轄下に置くことができます。
mkdir ~/.jenv/versions
ディレクトリがないと、↓でコマンドを叩いた際にディレクトリがないよと怒られます。
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc
などを忘れずに。パスを通さないと、java -version
したときに jenv の設定が読まれないみたいです。
$ brew cask install adoptopenjdk11 $ brew cask install adoptopenjdk10 $ brew cask install adoptopenjdk8
インストールした AdoptOpenJDK の分しか入れられないので注意。
これを、jenv に追加します。
$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home/ $ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-10.jdk/Contents/Home/ $ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
$ jenv global 8.0
これで、
$ java -version
をした際に、8に切り替わっていれば成功。ちなみに特定のディレクトリ配下だけ Java のバージョンを変える設定もできるみたいです。
参考記事: https://www.dhiller.de/2019/01/06/setup-multiple-jdks-with-jenv-and-adoptopenjdk.html