01 Oracleの案内から分かる最初の確認点
OracleのmacOS向けJDK 25インストール手順では、JDKは/Library/Java/JavaVirtualMachines配下にインストールされます。つまり、Java 25のファイルがMacに存在していても、現在のjavaコマンドが古いJDKを呼び出すことはあります。
MacのJava 25のバージョンが違うときは、先に再インストールしないでください。
まずMacが認識しているJDK、java、javac、JAVA_HOMEの向きを確認します。多くの場合、原因はインストール失敗ではなく、macOSの既定JDKやIDEのプロジェクト設定が旧版のまま残っていることです。
このガイドの対象
Java 25を入れた後も、javaやjavacが古いバージョンを表示する学生向けです。IntelliJ IDEAやVS CodeでJava 25が見つからない場合、学校のMacで管理者権限がない場合、遠隔Macに学習環境を作りたい場合にも使えます。
02 まず「どのJavaが呼ばれているか」を分けて調べる
JDKは本棚に置いた教材、既定バージョンは机の上に開いている教材だと考えてください。新しい本を本棚に追加しても、机の教材が自動で入れ替わるとは限りません。
ターミナルで、次の順番に実行します。
java -version
javac -version
/usr/libexec/java_home -V
java -versionはプログラムを実行するJavaの確認です。ここで古い番号が出ても、Java 25が未インストールだとはまだ判断できません。
javac -versionはJavaのソースコードをコンパイルするツールの確認です。学習ではこちらも必要です。javacが見つからない、またはjavaと違う版を表示するなら、実行環境とコンパイル環境が一致していません。
最後のjava_home -Vは、macOSが認識しているJDKの一覧を表示します。Java 25が一覧にあれば、インストール自体は認識されています。OracleのJDK 25資料では、macOSでこの仕組みを使ってJDKを確認・選択する方法が案内されています。
注意
java_home -Vの結果にJava 25がない場合は、環境変数を直す前に、ダウンロードしたファイルの種類とインストール完了を確認してください。保護されたシステムフォルダーを削除したり、出所不明の修復スクリプトを実行したりする必要はありません。
03 `java`は動くのに`javac`がない場合
Javaには、実行に必要な部分と、プログラムをコンパイルする開発用の部分があります。料理でいえば、完成した料理を温める道具と、材料から料理を作る道具が別になっているようなものです。
Java 25を実行できても、javacが使えなければ学習用のJDKとして不十分です。
次の結果で判断します。
java -versionはJava 25、javac -versionもJava 25:基本のJDK環境はそろっています。javaだけJava 25で、javacが「command not found」:PATHが別の場所を見ているか、完全なJDKが認識されていません。- 両方とも旧版:既定JDK、
JAVA_HOME、PATHのいずれかが旧版を指しています。
Javaの基本的な実行とコンパイルの流れは、Dev.javaの入門資料でも確認できます。授業の課題では、実行だけでなく.javaファイルをコンパイルできるかまで確認してください。
04 Java 25を既定にするための環境変数確認
JAVA_HOMEは、今使う教材を指定する教室の門札のようなものです。JDKが複数ある場合、この門札が旧版の教室を指していると、Java 25をインストールしてもコマンドやIDEが旧版を選ぶことがあります。
まず現在の指定先を確認します。
echo "$JAVA_HOME"
which java
which javac
空のJAVA_HOMEが表示されても、直ちに異常とは限りません。macOSのJava選択機能やシェルのPATHだけで動作している場合があるためです。which javaとwhich javacが同じJDKのbinを指しているかを見ます。
Java 25を一時的に選ぶ場合は、Oracleの案内に沿って次を実行します。
export JAVA_HOME=$(/usr/libexec/java_home -v 25)
export PATH="$JAVA_HOME/bin:$PATH"
java -version
javac -version
ここで両方がJava 25になれば、原因は既定設定にあります。ただし、このexportは現在開いているターミナルだけに有効です。
ターミナルを閉じてから再度確認し、旧版に戻る場合は、利用しているシェルの設定ファイルに同じ設定を追加します。macOSのシェル設定に、古いJAVA_HOMEやPATHの行が複数あると、後から読み込まれた行がJava 25を上書きします。
設定を変更する前の戻し方
設定ファイルを編集する前に、現在の内容を別名で保存します。
cp ~/.zshrc ~/.zshrc.before-java25
その後、同じファイル内にあるJAVA_HOMEとJavaのPATH設定を確認します。Java 25の行を一つに整理し、再度ターミナルを開いてjava -versionとjavac -versionを確認します。
元に戻す必要があるときは、変更した行を削除するか、保存したファイルから復元します。設定が読まれない場合でも、学校の管理設定を回避する操作や、システム領域への書き込みは行わないでください。
macOSでJava 25を既定にするには、何をそろえればよいですか。
java_homeでJava 25が認識されていること、JAVA_HOMEがJava 25を指すこと、PATHの先頭側に$JAVA_HOME/binがあることを確認します。三つの結果が一致して初めて、ターミナルの既定環境がそろいます。
05 Apple Silicon用パッケージを選び直す
Macの処理装置には、Apple SiliconとIntelの系統があります。Oracleのダウンロード案内とmacOSインストール資料では、Apple Silicon向けをAArch64、Intel向けをx64として区別しています。
まず自分のMacを確認します。
uname -m
arm64ならApple Silicon向け、x86_64ならIntel向けのパッケージを選びます。製品名やMacの外観だけで判断しないでください。遠隔Macを使っている場合は、受け取った環境情報またはシステム画面で処理装置を確認します。
パッケージを間違えると、インストールできない、ツールが起動しない、後の互換性確認で問題になる場合があります。ただし、ここから特定の性能差を推測する必要はありません。まずアーキテクチャとJDKの認識結果を一致させます。
経験則
Apple SiliconなのにIntel向けx64版を選んでいた場合、再インストールを繰り返す前に、正しいAArch64版が一覧に現れるかを確認してください。複数のJDKを残したままでも切り替えはできます。
06 ターミナルとIDEの結果が違うとき
ターミナルの既定バージョン、IDE自体を動かすJava、プロジェクトが選ぶJDKは、別々に設定されることがあります。ターミナルがJava 25でも、IDEのプロジェクトが旧版を選んでいれば、授業のコードは古い環境でコンパイルされます。
最小の確認ファイルを作ります。
class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("java.version"));
System.out.println(System.getProperty("java.home"));
}
}
ファイル名をMain.javaとして保存し、ターミナルで実行します。
javac Main.java
java Main
表示されたjava.versionがJava 25で、java.homeが先ほど確認したJDKなら、ターミナル側は正常です。IDEで同じファイルを実行し、表示が違う場合はプロジェクトSDKまたはモジュールSDKを確認します。
IntelliJ IDEAでは、SDKとプロジェクト設定の公式説明およびプロジェクト構成の説明に沿って、プロジェクトがJava 25を選んでいるか確認します。IDE内蔵ターミナルのPATHだけが違う場合は、ターミナル設定の公式資料も確認します。
IDEだけ旧版になる場合、JDKを再インストールすべきですか。
ターミナルの最小プログラムがJava 25で動くなら、先にIDE側のプロジェクトSDKを直します。再インストールは、java_home -VにJava 25がなく、正しいパッケージの再導入が必要な場合に限ります。
07 最後に行う環境受け入れチェック
次の条件を上から確認してください。
- [ ]
java -versionがJava 25を表示する - [ ]
javac -versionもJava 25を表示する - [ ]
which javaとwhich javacが意図したJDK配下を指す - [ ]
Main.javaをコンパイルできる - [ ]
java MainでバージョンとJDKの場所を確認できる - [ ] ターミナルを閉じて開き直しても設定が保たれる
- [ ] IDEでも同じ
java.versionが表示される - [ ] 授業のプロジェクトファイルを保存し、再度開ける
分岐は明確です。
- すべて満たす場合:現在の環境を使い続けます。設定をむやみに変更しません。
- JDK一覧にJava 25があるが、設定だけ不一致の場合:
JAVA_HOMEとPATHを整理します。 - 学校の端末で設定変更が禁止されている場合:管理者権限を回避せず、担当者に許可された環境へ移します。
- 何度直しても版が混在する場合:独立したMac環境で最小プロジェクトを先に通し、本機の整理は後回しにします。
- ファイル保存や再ログイン後の確認ができない場合:学習環境としてはまだ合格にしません。
学校のパソコンは、アプリの導入制限、設定の初期化、プロジェクト保存場所の制約が重なりやすい環境です。自分で管理できない部分を無理に変更すると、授業用端末の規則に反する可能性があります。
ローカルMacでは、旧JDKの設定が長く残っていることが負担になります。一方、学校端末では権限不足、設定の保持不可、保存場所の制限が問題になりやすく、Java 25の修復以前に学習環境として不安定です。CALMVPSのMac学習環境の案内で利用方法を確認し、必要なら利用可能な環境と料金を比較してください。
一時的に授業や課題を進めたいだけなら、独立した実機環境でこのチェックを通してから本機を整理する方が安全です。CALMVPSのMac利用手続きを検討する場合も、まずは必要な接続方法、ファイル保存方法、IDE設定を確認し、長期の重い作業や物理機器への接続が必要なら自分で管理できるMacと比較して選んでください。