LoginSignup
2
1

Oracle提供のJava17をインストール

Last updated at Posted at 2023-10-22

この前 SDKMANを使ったやり方を書きました。 みんな SDKMANを使っていないかもしれないので 今回は最も一般的なやり方を書いてみる。(多分非プログラマーもこんなやり方をするのでは?)

OracleサイトからJDK17を取得

これはダウンロードページへの直接リンクだが、グーグルで「Oracle java17 downloads」を検索するとOracleのダウンロードページがトップヒットとして出ると思う。

ページから 自分の環境に合うインストーラーをダウンロードし、実行する。zipファイルもあるが、インストーラーをお勧め。なぜならば適切な場所に配置してくれるからである。

インストールの確認

上記のインストーラーがMacOSが昔から期待する「/Library/Java/JavaVirtualMachines ディレクトリーにJavaを配置する。その存在チェックを確認する。

Finder > New finder window > Cmd + Shift + G押下 > /Library/Java/JavaVirtualMachines を入力する

標準的な場所なので 他のjava sdkもある可能性もある。今回jdk-17.sdkがあるので OK!

Screenshot 2023-10-22 at 19.53.42.png

JAVA_HOMEを確認

JAVA_HOMEって何でしたっけ?というあなたへ ここクリックし、展開してください 😀

JAVA_HOMEという環境変数を正しく設定することで 色々なプログラム・アプリがデフォルトのJavaを知ることができて 他のプログラムに必要。

Android Studioを使う場合は GUIを使って選択できるので JAVA_HOMEをセットしていなくてokだが 他のアプリは大抵Javaを特別に選択するUIを用意してくれない。

)

例えば ターミナルjava --version を実行すると JAVA_HOMEを定義していないと /Library/Java/JavaVirtualMachines の中で最もバージョン高いものが得られる。JAVA_HOMEを定義していなくても /usr/libexec/java_home がなんとかしてくれている。

% /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
% echo $JAVA_HOME

%
% java --version
java 21.0.1 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 21.0.1+12-LTS-29)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.1+12-LTS-29, mixed mode, sharing)

今回は17を使いたいので JAVA_HOMEを定義することで java --versionの結果を変えることができる!

JAVA_HOMEが正しく設定される場所で定義する。~/.zshenvで以下を追加

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

もしく java_homeコマンドを使って17を取得しJAVA_HOMEを設定することもOK

export JAVA_HOME=$(/usr/libexec/java_home -v 17)

Java全体の確認

適当なターミナルを開いて、以下の二つのコマンドを打って、Java 17が表示される筈

% echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home 
% 
% java --version
java 17.0.8 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)

以上、これでJava使えるはず!

See you later! 🐊

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1