javaバージョン確認は、ターミナルやコマンドプロンプトで java -version を実行するだけで完了します。ただし、それだけでは終わらないことも多いはずです。「java -versionとjavac -versionの結果が違う」「SDKMAN!で切り替えたはずなのに反映されない」。実務ではこうした一段先のつまずきの方が、むしろ厄介です。
本記事ではWindows・Mac・Linux・Eclipseそれぞれの確認手順に加え、javac -version との違い、複数バージョンの切り替え方法(SDKMAN!/jEnv/環境変数)、そして「command not found」エラーの原因と対処法までを1本で完結させています。2026年3月リリースの Java 26、最新LTSの Java 25 にも対応済みです。
バージョン確認から切り替え、トラブル対処まで、開発環境まわりで迷ったらこのページに戻ってくれば足ります。
Javaのバージョン確認とは、開発環境やサーバーにインストールされているJavaのバージョンを、java -version などのコマンドやGUIツールで調べる作業のことです。
Javaバージョン確認コマンド早見表
まずは結論から。どのOSでも、基本は java -version の一発で確認できます。
| OS | 起動するツール | 実行するコマンド |
|---|---|---|
| Windows | コマンドプロンプト / PowerShell | java -version |
| macOS | ターミナル.app | java -version |
| Linux | 端末(Terminal) | java -version |
コンパイラ側も同時に確認したい場合は javac -version を実行します。両者が一致していれば環境変数は正しく設定されています。
ここから先は、各OSでの具体的な手順、バージョン切り替え方法、エラー時の対処法を順に解説します。
Javaのバージョン確認が重要な理由

Javaのバージョン確認は、開発を始める前の「準備運動」のようなものです。バージョン確認を怠ると、後で大きなトラブルにつながります。
Javaのバージョンを把握しておくことが重要な理由は、主に3つあります。
プロジェクトでの不具合を防ぐため
Javaのバージョン確認が重要な最大の理由は、プロジェクトでの予期せぬ不具合を防ぐためです。
例えば、参加するプロジェクトが「Java 11」で開発されているとします。
もし開発環境が古い「Java 8」のままだった場合、コンパイルエラーになってしまいます。
理由は、Java 11で追加された新しい文法や機能(API)をコードが使っているためです。
逆に、環境が最新の「Java 17」で、プロジェクトが「Java 11」だった場合も注意が必要です。
Java 17で非推奨または削除された機能を使おうとすると、実行時にエラーが発生します。
プロジェクトが指定するJavaのバージョンと、あなたの開発環境のバージョンを正確に合わせることは、不具合を未然に防ぐために不可欠です。
なお、Oracle JDK 17・21を使用している場合は、パーミッシブ・ライセンスによる無償アップデート提供が2026年9月で終了する点にも注意が必要です。継続して無償アップデートを受けるには、Oracle JDK 25以降への移行、またはEclipse Temurin等のOpenJDKディストリビューションへの切り替えが選択肢になります。
最新機能やセキュリティ更新の確認に役立つ
Javaは、現在も活発に開発が続けられているプログラミング言語です。
約半年ごとに新しいバージョンがリリースされ、新機能の追加やパフォーマンスの改善が行われています。
2026年9月時点で長期サポート(LTS)対象となっているのは Java 8 / 11 / 17 / 21 / 25 の5バージョンです。
最新のLTSは2025年9月にリリースされた Java 25 で、2026年3月には非LTSの Java 26 もリリースされています。
次期LTSは2027年9月のJava 29が予定されています。
例えば、Java 8で導入された「ラムダ式」や「Stream API」は、Javaの書き方を大きく変えました。
LTS間の主な違いを簡単に挙げると、Java 9で導入されたモジュールシステム(JPMS)はJava 11時点で実務利用が広がり、Java 17ではsealed classesが標準化、Java 21ではレコードパターンや仮想スレッド(Virtual Threads)が導入されています。バージョン確認をした後は、「そのバージョンで何が使えるのか」まで把握しておくと、コードレビューや技術選定の場面で迷いません。
最新のバージョン情報をキャッチアップしておくことで、より効率的でモダンなコードを書くスキルが身につきます。
また、バージョンアップには「セキュリティの脆弱性」の修正も含まれます。
古いJavaのバージョンを使い続けることは、セキュリティリスクを抱え込むことにもつながりかねません。
自分のJavaが最新のセキュリティパッチを適用しているか確認するためにも、バージョン確認は大切です。
なお、Java 8はOracleの無償公開アップデートは終了していますが、Eclipse Temurin等のOpenJDKディストリビューションでは2030年12月まで無償アップデートが提供されています。
チーム開発やツール連携でトラブルを避ける
現代の開発は、チームで行うのが一般的です。チーム全員が異なるJavaのバージョンを使っていたら、どうなるでしょうか。
「私の環境では動いたのに、あなたの環境では動かない」
このような問題が頻発し、開発効率が著しく低下します。チーム全員が使用するJavaのバージョンを統一することは、スムーズな共同作業の基本です。
こうした食い違いは、多くの場合CI(継続的インテグレーション)のビルドが通らない段階で初めて発覚します。ローカルでは動いていたコードがCI環境で失敗する原因の一部は、ローカルとCIコンテナのJavaバージョン不一致であることが少なくありません。
さらに、Java開発ではEclipseやIntelliJ IDEAといったIDE(統合開発環境)や、Maven、Gradleといったビルドツールを使います。
これらのツールも、特定のJavaバージョンとの互換性があります。
使用するツールの要求するJavaバージョンと、実際にインストールされているバージョンが異なると、ツールが正しく動作しない原因になります。
これらの理由から、Javaのバージョンを正確に把握し、適切に管理することは、すべてのJava開発者にとって重要なスキルなのです。
OS別Javaバージョン確認コマンドの実行手順
Javaのバージョン確認は、どのOS(オペレーティングシステム)でも「コマンド」を使って行うのが一般的です。
Windows、Mac、Linux、それぞれの環境での確認方法を具体的に見ていきましょう。
使用するコマンドは、基本的には共通です。
java -versionこのコマンドは、現在「実行環境」として設定されているJava(JREまたはJDKの一部)のバージョンを表示します。
また、Javaのプログラムをコンパイル(コンピュータが理解できる形に変換)するためのバージョンを確認するコマンドもあります。
javac -versionjava -version と javac -version の結果は、通常一致しているべきです。
もし異なっている場合、環境変数の設定に問題がある可能性があります。
それでは、各OSでの具体的な実行方法を説明します。
WindowsでのJavaバージョン確認コマンド
WindowsでJavaのバージョンを確認するには、「コマンドプロンプト」または「Windows PowerShell」を使います。
手順:
- コマンドプロンプト(またはPowerShell)の起動:
Windowsキー + Rキーを同時に押します。- 表示された「ファイル名を指定して実行」ダイアログに
cmd(コマンドプロンプトの場合)またはpowershell(PowerShellの場合)と入力し、Enterキーを押します。
- コマンドの入力:開いた黒い画面(ターミナル)に、以下のコマンドを入力し、Enterキーを押します。
java -version - 実行結果の確認:以下のように、インストールされているJavaのバージョン情報が表示されます。
java version "25.0.4" 2026-07-21 LTS Java(TM) SE Runtime Environment (build 25.0.4+7-LTS) Java HotSpot(TM) 64-Bit Server VM (build 25.0.4+7-LTS, mixed mode, sharing)この例では、java version "25.0.4"と表示されており、Java 25(最新LTS)がインストールされていることがわかります。
同様に、javac -version も試してみましょう。
javac -versionjavac 25.0.4このように表示されれば、実行環境とコンパイル環境のバージョンが合っていると判断できます。
Windows 11でGUIからJavaバージョンを確認する方法
コマンドを使いたくない場合は、コントロールパネルからもJavaのバージョンを確認できます。
- 「スタート」をクリックし、画面右上の「すべて」をクリックします。
- 一覧の「J」欄から「Java」をクリックし、「Javaの構成」をクリックします。
- 「Javaコントロール・パネル」が表示されたら、「一般」タブの「バージョン情報」をクリックします。
- 「Javaについて」ダイアログにバージョンが表示されます。
ただし、この方法で確認できるのはJRE(実行環境)のバージョンです。
JDKで開発している場合は、正確なバージョンを把握するために、上記のコマンドライン(java -version)での確認をおすすめします。
MacでのJavaバージョン確認コマンド
Mac(macOS)でJavaのバージョンを確認するには、「ターミナル」アプリを使います。
手順:
- ターミナル.appの起動
Commandキー + Spaceキーを同時に押して、Spotlight検索を開きます。- 「ターミナル」または「terminal」と入力し、表示された「ターミナル.app」を選択して起動します。
- (または、Finderの「アプリケーション」>「ユーティリティ」フォルダの中にある「ターミナル.app」をダブルクリックします)
- コマンドの入力:開いたターミナル画面に、以下のコマンドを入力し、Enterキーを押します。
java -version - 実行結果の確認:Windowsと同様に、バージョン情報が表示されます。
openjdk version "17.0.20" 2026-07-21 OpenJDK Runtime Environment (build 17.0.20+8-LTS) OpenJDK 64-Bit Server VM (build 17.0.20+8-LTS, mixed mode, sharing)この例では、OpenJDKのJava 17がインストールされていることがわかります。Macでもjavac -versionを実行して、コンパイラのバージョンも確認しておくと良いでしょう。javac -versionjavac 17.0.20
LinuxでのJavaバージョン確認コマンド
Linux(Ubuntu, AlmaLinux, Rocky Linuxなど)でも、Macと同様に「ターミナル」(端末)を使って確認します。
手順:
- ターミナルの起動:
- デスクトップ環境(GNOME, KDEなど)のメニューから「端末」や「Terminal」を探して起動します。
- 多くの場合、
Ctrl + Alt + Tのショートカットキーでも起動できます。
- コマンドの入力:ターミナル画面に、以下のコマンドを入力し、Enterキーを押します。
java -version - 実行結果の確認:実行結果が表示されます。
openjdk version "1.8.0_312" OpenJDK Runtime Environment (build 1.8.0_312-b07) OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)この例では、OpenJDKのJava 8(1.8.0)がインストールされていることがわかります。javac -versionも忘れずに確認します。javac -versionjavac 1.8.0_312
どのOSでも、java -version コマンドで簡単にバージョンが確認できます。
EclipseでのJavaバージョン確認方法
複数のプロジェクトを並行して開発している場合、プロジェクトごとに異なるJavaバージョンが設定されているケースは珍しくありません。
Eclipseでは以下の方法で確認できます。
- プロジェクト単位の確認: プロジェクトを右クリック →「プロパティ」→「Javaコンパイラー」で、そのプロジェクトが使用するJavaバージョンを確認できます
- ワークスペース全体のデフォルトJDK:「ウィンドウ」→「設定」→「Java」→「インストール済みのJRE」で、Eclipse全体のデフォルトJREを確認・変更できます
- IntelliJ IDEAの場合:「File」→「Project Structure」→「Project SDK」でプロジェクトのJDKバージョンを確認します
Android StudioでのJavaバージョン確認方法
Android Studioでは、プロジェクトのビルドに使うJDKと、IDE自体が動作するJDK(JetBrains Runtime)は別に管理されています。この点に注意が必要です。
- プロジェクトのJDKを確認する: 「File」→「Project Structure」→「SDK Location」の「JDK location」でビルドに使用するJDKのパスとバージョンを確認できます
- Gradleが使うJDKを確認する: 「Settings」→「Build, Execution, Deployment」→「Build Tools」→「Gradle」の「Gradle JDK」欄でも確認できます
Android Studio付属のJDK(JetBrains Runtime)を使う場合と、システムに個別インストールしたJDKを使う場合とでバージョン表示が異なることがあります。
念のため、上記2箇所を両方確認しておくと安心です。
Javaバージョンの切り替え方法(SDKMAN!/jEnv)

開発現場では、「プロジェクトAではJava 8を、プロジェクトBではJava 11を使う」といったように、複数のJavaバージョンを使い分ける場面がよくあります。
ここでは、複数のJavaバージョンがインストールされている場合に、使用するバージョンを切り替える基本的な方法を紹介します。
複数バージョンをインストールしている場合
PC内に複数のJavaバージョン(JDK: Java Development Kit)が共存していること自体は問題ありません。
別の例として、C:\Program Files\Java\ の中(Windowsの場合)や /Library/Java/JavaVirtualMachines/ の中(Macの場合)に、jdk-8 や jdk-11 のようなフォルダが複数存在する状態です。
問題は、java -version コマンドを実行したときに、OSが「どのJavaを使うか」を認識しているかです。
この「どのJavaを使うか」を指定するのが「環境変数」です。
環境変数(PATH)の設定で切り替える
OSは、コマンドが実行されたときに、「PATH」という環境変数に登録されているディレクトリを順番に探しに行き、最初に見つかった実行ファイルを使用します。
また、Javaの場合は JAVA_HOME という環境変数も重要です。
Javaのインストールディレクトリ(jdk-11 のフォルダなど)を指定するために使います。
Windowsの場合:
- 「システムのプロパティ」から「環境変数」を開きます。
- システム環境変数(またはユーザー環境変数)で、
JAVA_HOMEという変数を探します。 JAVA_HOMEの値を、使用したいJavaバージョンのインストールディレクトリ(例:C:\Program Files\Java\jdk-11)に変更します。- 次に、環境変数
Pathを編集します。Pathの中にある%JAVA_HOME%\binという記述が、他のJava(例:C:\Program Files (x86)\Common Files\Oracle\Java\javapathなど)へのパスよりも「上」(優先度が高い位置)にあることを確認します。 - 設定を変更したら、開いているコマンドプロンプトをすべて閉じ、新しく開き直して
java -versionを実行します。
Mac/Linuxの場合:
- ホームディレクトリにある設定ファイル(
.bash_profile,.zshrcなど、使用しているシェルによって異なります)を開きます。 - ファイル内に、以下のような記述を追加または修正します。
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH(※JAVA_HOMEに設定するパスは、ご自身の環境のJDKインストールパスに合わせてください) - ファイルを保存し、ターミナルで
source ~/.zshrc(ファイル名が.zshrcの場合)を実行するか、ターミナルを再起動します。 java -versionを実行して、バージョンが切り替わったことを確認します。
この方法は確実ですが、切り替えるたびに設定ファイルを編集する必要があり、少々面倒です。
SDKMAN!やjEnvを使って管理する方法(Mac/Linux向け)
MacやLinuxユーザーであれば、SDKMAN! や jEnv といった「バージョン管理ツール」を使うことを強くおすすめします。
SDKMAN! の場合:
SDKMAN! は、Javaだけでなく、GroovyやKotlinなど、多くのJVM(Java仮想マシン)関連のSDKを管理できるツールです。
- インストール後、利用可能なJavaのバージョン一覧を表示
sdk list java - 特定のバージョンをインストール
sdk install java 25.0.4-tem - 使用するバージョンを切り替える
sdk use java 25.0.4-tem(このターミナルセッションでのみ切り替わります) - デフォルトで使用するバージョンを指定
sdk default java 25.0.4-tem
コマンド数回で簡単にJavaのインストールと切り替えができます。
jEnv の場合:
jEnv は、Java専用のバージョン管理ツールです。
- インストールされているJavaを追加
jenv add /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home - 使用するバージョンを切り替える
jenv global 11.0
これらのツールを使えば、JAVA_HOME や PATH の設定を直接編集する手間が省け、プロジェクトごとにJavaのバージョンを簡単に切り替えられます。
Javaのバージョン管理ツールとしては、SDKMAN! が第一選択としておすすめです。
インストールからバージョン切り替えまでを1つのツールで完結でき、プロジェクトごとに .sdkmanrc ファイルで自動切り替えも可能です。
一方、jEnv は既にJDKがインストール済みの環境でバージョンだけ切り替えたい場合に便利ですが、JDKのインストール自体は別途行う必要があります。
なお、GitHub Actions等のCI環境では、ローカルのSDKMAN!/jEnv設定は引き継がれません。actions/setup-java のようなアクションでJavaバージョンをワークフローファイル内に明示的に指定し、ローカルの .sdkmanrc と同じバージョンを指定しておくと、ローカル・CI間のバージョン食い違いを防げます。
ここで注意したいのが、PATHの優先順位に起因する落とし穴です。SDKMAN!やjEnvで切り替えたつもりでも切り替わらない場合、原因の多くは次の理由によるものです。
原因の多くは、.bashrc や .zshrc に古い JAVA_HOME を直接指定する記述が残っていて、そちらが優先されてしまうことです。
また、切り替えコマンドを実行した後にシェルを再起動しないと、多くのシェルでは変更が反映されません。
切り替えが反映されているか不安なときは、which java(Windowsなら where java)で実際に使われているパスを確認するのが確実です。
なお、近年は Java 専用ツールだけでなく、複数の言語ランタイムを統一的に管理できる mise(旧rtx)や asdf を選ぶ開発者も増えています。
Python・Node.js・Goなどと併用する場合は、こちらの方が学習コストを抑えられます。
java -versionのエラー原因と対処法

java -version を実行したときに、バージョン情報がうまく表示されず、エラーになることもあります。
ここでは、よくあるエラーと、その対処法について解説します。
また、エラーにはならなくても、複数のJavaバージョンをインストールした環境では java -version が返すバージョンと、Maven・Gradleなどのビルドツールが実際に使用しているJDKのバージョンが食い違っていることがあります。
ビルドが想定と違う挙動をする場合は、コマンドラインでの確認だけでは不十分です。ビルドツール側の設定(Maven なら pom.xml の maven.compiler.source、Gradle なら build.gradle の sourceCompatibility やGradle自体が使うJDK)も合わせて確認しましょう。
「java: command not found」と表示された場合
java -version を実行して、以下のようなエラーメッセージが表示された場合の対処法です。
bash: java: command not foundまたは
'java' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。このエラーは、2つの原因が考えられます。
原因1:Java(JDK)がPCにインストールされていない
そもそもJavaがインストールされていなければ、java コマンドは実行できません。
特にPCを購入した直後や、クリーンインストールした直後は、Javaが入っていないことがほとんどです。
対処法:
Oracleの公式サイトや、Eclipse Temurin(旧AdoptOpenJDK)、Amazon Correttoなどから、JDK(Java Development Kit)をダウンロードし、インストールしてください。
プログラミングを行う場合は、JRE(Java Runtime Environment)だけではなく、JDKをインストールする必要があります。
原因2:Javaはインストールされているが、パス(PATH)が通っていない
Javaはインストールしたものの、OSが java コマンドの場所(java.exe などの実行ファイルがある場所)を知らない状態です。
これが「パスが通っていない」と呼ばれる状態です。
対処法:
「Javaのバージョンを切り替える方法」で説明した「環境変数(PATH)の設定」を正しく行う必要があります。
JAVA_HOME を設定し、Path 環境変数に %JAVA_HOME%\bin(Windows)または $JAVA_HOME/bin(Mac/Linux)が追加されているかを確認し、設定してください。
パス設定のミスを確認する方法
パス設定がうまくいかない場合、以下の点を確認してみましょう。
- JAVA_HOME のパスが正しいか?C:\Program Files\Java\jdk-11 のように、JDKのルートディレクトリを指していますか? C:\Program Files\Java\jdk-11\bin のように bin まで含めてしまうと、Path の設定 (%JAVA_HOME%\bin) と合わなくなり、結果として ...jdk-11\bin\bin を探しに行くことになり、失敗します。
- Path の設定は正しいか?Path には、%JAVA_HOME%\bin と記述する必要があります。単に %JAVA_HOME% だけでは、OSは bin フォルダの中を探してくれません。
- 環境変数の設定を反映させたか?Windowsで環境変数を設定した後、コマンドプロンプトを再起動しないと、古い設定が使われ続けます。必ずターミナルやコマンドプロンプトは開き直してください。
- 他のJavaのパスが優先されていないか?Path 環境変数は、上から(または左から)順に参照されます。もし、%JAVA_HOME%\bin よりも先に、別の(例えば古い)Javaへのパス(C:\Program Files (x86)\Common Files\Oracle\Java\javapath など)が記述されていると、そちらが優先されてしまいます。新しく設定したパスが、最も優先される位置にあるか確認してください。
実務でよくあるのが、Oracle JDKのインストーラが自動追加する C:\Program Files (x86)\Common Files\Oracle\Java\javapath が PATH の先頭に来てしまうケースです。
手動で設定した JAVA_HOME が反映されないときは、まずこのパスの優先順位を確認しましょう。
Windowsの場合、where java コマンドで実際にどの java.exe が使われているかを特定できます。
Javaが正しくインストールされているか確認する
インストール自体がうまくいっていない可能性もあります。
- インストールディレクトリの確認:C:\Program Files\Java (Windows) や /Library/Java/JavaVirtualMachines (Mac) などの、標準的なインストール先ディレクトリに、該当するJDKのフォルダが存在するかを確認します。
- 再インストール:設定を見直しても解決しない場合、一度Javaをアンインストールし、PCを再起動してから、再度インストールを試みるとうまくいくことがあります。インストーラが環境変数の設定を自動で行ってくれる場合もあります。
バージョン確認ができない原因の多くは「インストールされていない」か「パスが通っていない」のどちらかです。
エラーメッセージをよく読み、落ち着いて環境変数の設定を確認しましょう。
よくある質問(FAQ)
java -versionとjavac -versionの違いは?
java -version はJRE(Java実行環境)のバージョンを表示し、javac -version はJDK(Java開発キット)に含まれるコンパイラのバージョンを表示します。開発を行う場合は両方のバージョンが一致していることを確認しましょう。javac が見つからない場合はJDKがインストールされていない可能性があります。
Javaのバージョン番号の読み方は?
Java 9以降は「メジャー.マイナー.パッチ」形式(例: 17.0.5 = Java 17)です。Java 8以前は「1.X.0_YYY」形式で、1.8.0_312 はJava 8のアップデート312を意味します。現在のLTS(長期サポート版)は Java 8 / 11 / 17 / 21 / 25 の5バージョンです。
java -versionとjava --versionの違いは?
java -version(ハイフン1つ)は標準エラー出力(stderr)にバージョン情報を出力します。java --version(ハイフン2つ)はJava 9以降で追加されたオプションで、標準出力(stdout)に人間が読みやすい形式で出力します。スクリプトでバージョンを取得する場合は出力先の違いに注意が必要です。
Windows 11でJavaのバージョンを確認するには?
コマンドプロンプトかPowerShellで java -version を実行するのが最も確実です。GUIから確認したい場合は、「スタート」→「すべて」→「Java」→「Javaの構成」→「バージョン情報」からも確認できます。
「java: command not found」と表示されたらどうすればいい?
多くの場合、JDKが未インストールか、PATHに java コマンドが登録されていないことが原因です。JDKをインストールした上で、環境変数PATHに bin ディレクトリを追加してください。
SDKMAN!とjEnv、どちらを使うべき?
これからJavaのインストールも含めて管理したいならSDKMAN!、既にJDKがインストール済みで切り替えだけしたいならjEnvがおすすめです。SDKMAN!は1つのツールでインストールから切り替えまで完結できます。
複数のJavaバージョンを同じPCに共存させることはできる?
はい、できます。インストール先のディレクトリを分けておけば複数バージョンを共存させられ、SDKMAN!やjEnv、環境変数の切り替えでプロジェクトごとに使い分けられます。
まとめ:開発環境に合ったJavaバージョンを把握しよう
Javaのバージョン確認は、安定した開発環境を維持するための基本中の基本です。
java -versionコマンドで、現在のバージョンを簡単に確認できます。- プロジェクトの要求バージョンと自分の環境を合わせることが、不具合を防ぐ鍵です。
SDKMAN!などのバージョン管理ツールを使うと、複数のバージョンの切り替えが格段に楽になります。- 「command not found」エラーが出たときは、インストールと「PATH」設定を疑いましょう。
チーム開発では、READMEやプロジェクトのドキュメントに使用するJavaバージョンを明記しましょう。
SDKMAN!の .sdkmanrc や .java-version ファイルをリポジトリに含めておくと、新メンバーの環境構築がスムーズになります。
開発プロジェクトに参加する前、あるいは新しいツールを導入する前には、必ずJavaのバージョンを確認する習慣をつけましょう。









