この記事でも書いたのだが、Azul というところから M1(Arm アーキテクチャ CPU。apple silicon ) 対応の JDK(Java Development Kit) がリリースされている。
どの程度高速化されるのかは不明だが、可能なら Java も M1 ネイティブで動かしたい。
開発元の zulu は、マイクロソフトと共同で windows arm OS 向けの JDK を作成していたところ。
信用してもいいでしょう。
ということで、インストール&基本設定の仕方から。
JDK のインスコ
まず、Azul のダウンロードページに飛ぶ。
今回は、Java 15 の .dmg を選びました。(2022年春時点での長期サポート版は 17 ですが、17 へのアップグレードは後述)
たぶん、dmg がもっとも導入が楽です。
ダウンロード後、dmg ファイルを「開く」。インストーラーが立ち上がるので、後は指示に従って答えていけば OK です。
この画面でのダブルクリックも忘れずに。
一応、これだけでも、所定の位置(/Library/Java/JavaVirtualMachines/ 以下)に JDK は入ります。
JAVA_HOME を設定し、PATH を通す
現在 BigSur デフォルトの shell は zsh なので、~/.zprofile などに以下の2行を加える。
JAVA_HOME='/Library/Java/JavaVirtualMachines/zulu-15.jdk/Contents/Home'
PATH=$JAVA_HOME/bin:$PATH
これで、Java でのコンパイルなどが可能となります。
何はなくても Hello, World!
動作確認のために定番「こんにちは、世界」します。
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
上のコードをエディタで HelloWorld.java として保存。
あとは端末からコンパイル&実行。
%javac HelloWorld.java
%java HelloWorld
Hello World!
どこまで M1 の恩恵を受けているかまではわかりませんが、無事、M1 Mac でも Java コードが動いてるのが確認できました。
15 → 17 へのアップグレード
現在(2022春)の長期サポート版は Java 17 です。
ですので JDK も15 → 17 へのアップグレードを試みましょう。
15 の時と同様に Azule のダウンロードページに行って、M1 対応の JDK をダウンロードしましょう。
今回も .dmg で大丈夫です。
指示に従ってインストールを進めると所定の場所に JDK の実体が配置されます(15 が消えるわけではない)。
以降はこちらのバージョンを使いたいので、JAVA_HOME を以下のように書き換えましょう。
JAVA_HOME='/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home'
PATH=$JAVA_HOME/bin:$PATH
以上でアップグレードは完了です。
猪股弘明
HorliX 開発者
OpenDolphin-2.7m 開発者
(追記)ここでは JavaFX に関しては一切触れていませんが、これがかなり微妙な感じで・・・んー、ごにょごにょ。興味のある方は『JavaFX on M1 Mac』をどうぞ。