リモート開発メインのソフトウェア開発企業のエンジニアブログです

macOS で Java を使う方法 ver. 2022

最近新しい MacBook Pro を買って色々セットアップをしていたのですが、Java のインストールとかが若干面倒だなと思ったので簡単にまとめます。

やり方だけまずは説明

事前準備

まずは HomeBrew をインストールします。詳細は説明しません。

2022年5月現在、以下のコマンドは必要ありません

brew tap homebrew/cask-versions #不要

OpenJDK 最新版のインストール

一般ユーザーとして普通に Java を使うだけであれば、以下の通りです。

brew install openjdk
sudo ln -sfn $(brew --prefix)/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

2022年5月現在、この方法では OpenJDK 18 がインストールされます。

また、 JAVA_HOME を設定する必要があれば、 .bashrc などに以下を記載します。

export JAVA_HOME=$(/usr/libexec/java_home)

バージョンを指定して入れたい

最新版では無く、開発しているシステムで使っている Java のバージョンを入れたい、というのはよくある話です。例えば、LTS である OpenJDK 17 を入れたい場合などです。その場合、以下の通りにします。

brew install openjdk@17
sudo ln -sfn $(brew --prefix)/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk

JAVA_HOME の設定は以下の通りです。

export JAVA_HOME=$(/usr/libexec/java_home -v17)

ただし、OpenJDK 8 はこの方法では入れられません。

Java 8 を入れたい

Java 8 を入れたい場合は、OpenJDK ではなく Eclipse Temurin 8 というものを入れます。

brew tap homebrew/cask-versions
brew install --cask temurin8

JAVA_HOME の設定は以下の通りです。

export JAVA_HOME=$(/usr/libexec/java_home -v1.8)

説明・補足

OpenJDK は HomeBrew の core に入った

少し前のサイトとかだと以下のようなコマンドでインストールする方法を説明しています。

brew install --cask java

以前は HomeBrew Cask という仕組みで Java をインストールしていたのですが、今では普通に brew コマンドでインストールできます。経緯とかは細かく調べてないので詳細は省略します。

M1 Mac では openjdk@8 は使えない

HomeBrew に openjdk@8 は存在するのですが、Intel Mac でしか使えません。

openjdk@8 — Homebrew Formulae

従って、M1 Mac で Java 8 を使いたい場合は、違った JDK を入れる必要があります。

AdoptOpenJDK は Eclipse に移管された

Java 8 のパッケージもリリースしていた AdoptOpenJDK というプロジェクトがあったのですが、昨年くらいに Eclipse プロジェクトに移管されました。

Transition to Eclipse – An Update | AdoptOpenJDK Blog

少し古いサイトだと、Java 8 のインストール方法として以下のコマンドのように AdoptOpenJDK を使った方法を紹介しています。

$ brew tap AdoptOpenJDK/openjdk
$ brew cask install adoptopenjdk8

(試していませんが)多分今もこのコマンドは使えると思いますが、上述の通り AdoptOpenJDK は Eclipse プロジェクトに移管されたので、Eclipse Temurin が提供する Java 8 ( temurin8 )を使う方が良いと思います。

その他にも選択肢は沢山

多くのサイトで解説されているので詳細は省きますが、Oracle が Java のラインセンスを変更して以降、星の数ほどの JDK が世の中にリリースされています。

それら JDK にはそれぞれの存在意義があり、商用システムの場合にはどの JDK・バージョンを使うかを慎重に選択する必要があると思いますが、自分の Mac で開発環境を作るのであれば、Java のバージョンがあっていてライセンス的に問題なければ、どれを使っても良いと思います。そういった観点から、今回は OpenJDK (Java 8 の場合は Temurin)のインストール方法を説明しました。

まとめ

Java を巡る環境は日々変わっています。2022年5月現在、M1 Mac で Java を使いたい場合、

  • 最新版(18)、LTS (11 or 17) の場合 OpenJDK
  • Java 8 の場合 Temurin

を HomeBrew でインストールする方法が簡単で良いと思います。なお、OpenJDK のインストールに以前は HomeBrew Cask を使用していましたが、今は brew install openjdk だけですみます。

← 前の投稿

Rails のマイグレーションで PostgreSQL の timestamp(0) 型のカラムを作る

次の投稿 →

Spark での regex_replace

コメントを残す