この記事では、Windows・Mac・Linuxなど各OSでのJavaバージョン確認方法を詳しく解説します。コマンド操作からIDE利用まで網羅し、インストール・更新・切り替え時の悩みを解決できる実践的な手順を学べます。
目次
Javaのバージョン確認の概要

Javaバージョンとは何か
Javaのバージョンとは、Javaプラットフォームの機能や仕様を示す識別番号のことです。たとえば、Java 8、Java 11、Java 17などがあり、それぞれに追加機能や改善が含まれています。開発環境や実行環境によってどのバージョンのJavaが使われているかを知ることは、プログラムの動作確認や互換性の判断において非常に重要です。
特に最新のJavaでは、セキュリティ修正やパフォーマンスの最適化が施されているため、開発者は常に自分の環境にインストールされているJavaのバージョンを正確に把握しておく必要があります。これが「Java バージョン確認」を行う目的です。
バージョン管理が重要な理由
Javaは長い年月をかけてアップデートされており、バージョンごとに構文・ライブラリ・APIの仕様が異なります。例えば、Java 8以前で使えたAPIがJava 11では非推奨になっていることもあります。開発や運用において異なるバージョンのJavaを混在させると、コンパイルエラーや実行時エラーが発生するリスクがあります。
そのため、使用しているJavaのバージョンを適切に管理することは、システムの安定性や開発の効率化に直結します。特にチーム開発や本番環境では、全員が同じJavaバージョンを使用していることを確認し、統一することが求められます。
さらに、サポート期間の終了(EOL)を迎えた古いJavaを使い続けると、セキュリティリスクが高まります。定期的にJavaのバージョン確認を行い、サポート対象の最新バージョンを利用することで、安全で安定したアプリケーション開発を実現できます。
JDK・JRE・Java SE・Java EEの違い
Javaの世界では、似たような名称が多く登場するため、それぞれの意味を正しく理解することが大切です。
- JDK(Java Development Kit):Javaアプリケーションを開発するためのツールセットです。コンパイラ(
javac)やデバッグツールが含まれています。開発者が使う環境です。 - JRE(Java Runtime Environment):Javaアプリケーションを実行するための環境です。JDKに含まれますが、単体で配布されることもあります。一般ユーザー向けの実行専用環境です。
- Java SE(Standard Edition):デスクトップアプリケーションや一般的なサーバープログラムを開発するための標準版です。多くの開発はこのJava SEに基づいています。
- Java EE(Enterprise Edition):企業向けの大規模なWebアプリケーションや業務システムを構築するための拡張版です。Servlet、EJBなどのAPIが含まれています(現在はJakarta EEとして進化)。
これらの違いを理解しておくと、Javaのバージョン確認を行う際にも、自分が確認すべき対象(JDKなのか、JREなのか)が明確になります。特に開発環境では、JDKのバージョン確認が重要なポイントです。
Javaのバージョンを確認する方法

コマンドラインで確認する
「java -version」コマンドの使い方
Javaがインストールされている環境で最も基本的な「Javaのバージョン確認」方法は、コマンドラインで java -version を実行することです。このコマンドは、JRE(Java Runtime Environment)のバージョン情報を表示します。
$ java -version
java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+7)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+7, mixed mode)
上記の例では、「17.0.8」が現在利用中のJavaバージョンです。また、「LTS」と表示されているバージョンは長期サポート対象版を意味します。
もしコマンド実行時に「‘java’ は内部コマンドまたは外部コマンドとして認識されません」と表示された場合は、Javaがインストールされていないか、環境変数PATHが正しく設定されていない可能性があります。
「javac -version」でJDKバージョンを確認
Java開発環境(JDK)のバージョンを確認する場合は、javac -version コマンドを使用します。javac はJavaコンパイラであり、アプリケーションを開発する際に必要なツールです。
$ javac -version
javac 17.0.8
この結果により、JDKのバージョンが表示されます。JREのみがインストールされている環境ではこのコマンドが利用できないこともあるため、開発環境を整える際にはJDKがインストールされているかを合わせて確認しましょう。
実行ファイルの保存場所を調べる方法
複数のJavaがインストールされている場合、実際にどのバージョンが使用されているかを把握するには、実行ファイルの保存場所を確認するのが効果的です。次のコマンドで場所を特定できます。
- Windowsの場合:
where java - Mac/Linuxの場合:
which java
$ which java
/usr/bin/java
このパスが指しているJava実行ファイルのディレクトリが、実際にシステムで利用されているものです。必要に応じてパスを変更したり、別のバージョンを優先的に利用するための設定(環境変数PATHの変更など)を行うことで、適切な環境を保つことができます。
Javaのインストール・更新方法

Windowsでのインストール手順
公式サイトからのJDKダウンロードとインストール
Windows環境でJavaを利用するには、まずJava Development Kit(JDK)を公式サイトからダウンロードし、インストールする必要があります。JDKはJavaの開発や実行に必要なコンポーネントを一式含んでおり、通常は最新のLTS(長期サポート)バージョンの使用が推奨されます。
インストール手順は以下の通りです。
- Oracle公式サイトまたはAmazon Corretto、Adoptiumなどの配布サイトにアクセスします。
- 「JDKダウンロード」ページで、お使いのWindowsのアーキテクチャ(64bitなど)に対応するインストーラ(.exe)を選択し、ダウンロードします。
- ダウンロードしたインストーラを実行し、表示されるウィザードに従ってインストールを進めます。
- インストール後、「スタート」メニューから「コマンドプロンプト」を開き、
java -versionコマンドを入力してJavaのバージョン確認を行い、正常に導入されたか確認します。
この手順でインストールが完了すれば、開発環境やアプリの実行時に必要なJava環境が整います。
環境変数の設定方法
インストール後、Javaをコマンドラインから正しく認識させるためには、環境変数「PATH」と「JAVA_HOME」の設定が必須です。これを設定しておくことで、どのディレクトリからでもjavaやjavacコマンドを実行できるようになります。
- JAVA_HOMEの設定:
エクスプローラーで「このPC」を右クリックし、「プロパティ」→「システムの詳細設定」→「環境変数」を開きます。
「システム環境変数」内で「新規」をクリックし、JAVA_HOMEを変数名として、JDKがインストールされているパス(例:C:\Program Files\Java\jdk-21)を変数値として入力します。 - PATHの設定:
同じ「環境変数」画面で「Path」を選択し、「編集」をクリックします。新しい項目として%JAVA_HOME%\binを追加します。 - 設定完了後、「OK」をクリックして画面を閉じ、コマンドプロンプトを再起動します。
java -versionまたはjavac -versionを実行し、Javaのバージョン確認を行って環境変数が正しく反映されたかを確認します。
これでWindows環境におけるJavaのインストールと環境変数の設定が完了します。正確な設定により、EclipseやIntelliJ IDEAなどのIDEでもスムーズにJava開発を開始できます。
Javaのバージョンを切り替える方法

OS別の切り替え手順
Javaを利用する開発環境では、複数のバージョンをインストールしておき、プロジェクトに応じて使い分けるケースがよくあります。ここでは、主要なOS(Windows・Mac・Linux)におけるJavaバージョンの切り替え手順を解説します。
Windowsでの切り替え方法
Windows環境でJavaのバージョンを切り替える場合、「環境変数」の設定を変更するのが一般的です。
- デスクトップ上で「PC」を右クリックし、「プロパティ」→「システムの詳細設定」を開きます。
- 「環境変数」をクリックし、システム環境変数から
PATHを選択します。 - 既存のJavaパスを、新しく使用したいJDKの
binディレクトリ(例:C:\Program Files\Java\jdk-17\bin)に書き換えます。 - 変更後、コマンドプロンプトを再起動して
java -versionコマンドで切り替わっているか確認します。
また、複数のバージョンを頻繁に切り替える開発者は、setxコマンドや専用のスクリプトを利用すると効率的です。
Macでの切り替え方法
Macでは、java_homeコマンドを利用して簡単にバージョンを切り替えることができます。これにより、複数のJDKをインストールしている場合でも状況に応じて柔軟に対応できます。
/usr/libexec/java_home -V
export JAVA_HOME=`/usr/libexec/java_home -v 17`
上記のようにコマンドを実行すると、利用可能なJavaの一覧が表示され、特定のバージョンを選んで切り替えることができます。毎回設定するのが面倒な場合は、~/.zshrcや~/.bash_profileにJAVA_HOMEを追記しておくと便利です。
Linuxでの切り替え方法
Linux(UbuntuやDebian系、CentOSなど)では、複数バージョンのJavaを管理するための仕組みとしてupdate-alternativesコマンドが用意されています。以下の手順で切り替えを行います。
sudo update-alternatives --config java
このコマンドを実行すると、インストール済みのJavaのパスとバージョンの一覧が表示されます。使用したい番号を入力することで、デフォルトのJavaバージョンを切り替えることが可能です。同様にupdate-alternatives --config javacを実行すれば、コンパイラーのバージョンも一致させられます。
もし手動でインストールしたJDKを追加したい場合は、sudo update-alternatives --installコマンドを用いてパスを登録することで、より柔軟な管理が可能になります。
EclipseやIntelliJなどIDE上での設定方法
Javaのバージョン変更は、OSの設定だけではなく、IDE(統合開発環境)上でも個別に指定する必要があります。プロジェクトごとに異なるJavaバージョンを指定できるため、複数プロジェクトを扱う開発者にとって非常に重要なポイントです。
Eclipseの場合
- Eclipseのメニューから「ウィンドウ」→「設定」→「Java」→「インストール済みのJRE」を開きます。
- 「追加」から新しいJDKのパスを登録します。
- プロジェクトを右クリックして「プロパティ」→「Javaビルド・パス」→「JRE System Library」を変更します。
これにより、Eclipse上でコンパイルや実行を行う際に使用されるJavaバージョンを簡単に切り替えられます。
IntelliJ IDEAの場合
- 「File」→「Project Structure」を開き、「Project SDK」を選択します。
- 新しいJDKを追加する場合は、「Add SDK」からインストールフォルダを指定します。
- プロジェクトレベル、またはモジュール単位で対象バージョンを設定可能です。
さらに、IntelliJではビルドツール(Maven・Gradle)ごとにJavaバージョンを指定できるため、ビルドやテストの環境設定も統一できます。
注意: OS側で設定したJavaバージョンとIDE内の設定が一致していないと、ビルドエラーが発生する場合があるため、両方の設定を整合させておくことが重要です。
よくあるトラブルと解決方法

「javaは内部コマンドとして認識されません」と表示される場合
主な原因
Javaのバージョン確認を行おうとしてコマンドプロンプトやターミナルで「java -version」を実行した際に、「javaは内部コマンドまたは外部コマンドとして認識されません」というエラーが出ることがあります。
このエラーの原因として最も多いのは、Javaが正しくインストールされていない、もしくは環境変数の設定が適切に行われていないことです。特にWindows環境では、インストール時にPATHに自動で登録されない場合や、複数のJavaをインストールした結果、古いPATH設定が残っているケースもあります。
また、インストールディレクトリを手動で変更したり、Javaをアンインストールした後にパスの残骸が残っている場合も原因となります。MacやLinuxでは、シンボリックリンクの設定ミスやシステムパスへの反映漏れがトラブルの要因になることがあります。
対処法
このエラーを解決するためには、以下の手順で環境設定と動作確認を行いましょう。
- Javaのインストール確認
まず、Java自体がインストールされているか確認します。Windowsでは「C:\Program Files\Java」フォルダを確認し、Mac/Linuxでは「/Library/Java/JavaVirtualMachines/」などのディレクトリをチェックします。存在しない場合は、公式サイトから最新のJDKを再インストールしてください。 - 環境変数PATHの設定を確認
Windowsの場合、「システムのプロパティ」→「環境変数」→「システム環境変数」のPATHにJavaのbinディレクトリが含まれているかを確認します。例:C:\Program Files\Java\jdk-17\bin含まれていない場合は上記のようなパスを追加しましょう。
MacやLinuxでは、.bashrcや.zshrcに以下のような設定を追記します。export PATH=$PATH:/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin - 設定の反映と確認
環境変数を変更したら、ターミナルやコマンドプロンプトを再起動し、再度「java -version」を実行します。正しく設定されていれば、Javaのバージョン情報が表示されるはずです。 - 複数のJavaが存在する場合の注意
古いJavaが優先されて呼び出される場合もエラーの原因となるため、どのパスが参照されているか「where java」(Windows)や「which java」(Mac/Linux)で確認し、不要なものを削除または順序を変更します。
これらの手順を踏むことで、多くの場合「javaは内部コマンドとして認識されません」というエラーを解消し、正しくJavaのバージョン確認ができるようになります。
よくある質問(FAQ)

JREとJDKの違いは?
Javaを利用する際によく耳にする「JRE」と「JDK」は似ていますが、目的が異なります。JRE(Java Runtime Environment)は、Javaアプリケーションを実行するための環境であり、開発ツールは含まれていません。一方、JDK(Java Development Kit)は、JREに加えてコンパイラ(javac)やデバッガなどの開発ツールが含まれており、Javaプログラムを作成・ビルドするために必要です。つまり、プログラムを「使うだけ」ならJRE、「作る・開発する」ならJDKが必要となります。
もしJavaのバージョン確認を行う場合、JDKがインストールされていればjava -versionとjavac -versionの両方で確認できますが、JREのみの場合は前者のみが利用可能です。
Javaのバージョン番号の意味
Javaのバージョン番号は、仕様の進化や機能追加を表す重要な指標です。近年のJavaでは「8」や「11」、「17」などの整数で呼ばれることが多く、これらは「長期サポート(LTS)」版として安定性が高いことを意味します。たとえば、java -versionを実行すると「java version “17.0.8”」のように表示されますが、先頭の「17」がメジャーバージョンで、次の数値はマイナーアップデートやセキュリティパッチの番号です。
開発現場ではLTS版を中心に利用することが推奨されており、安定性と長期サポートを重視するならLTS版を選ぶことが基本とされています。
複数のJavaバージョンを併用しても問題ない?
結論から言えば、複数のJavaバージョンを同じシステムで併用することは可能です。たとえば、古いアプリケーションがJava 8でしか動かない一方、新しいシステムはJava 17を使用するようなケースがあります。このような場合には、環境変数PATHやJAVA_HOMEの設定を切り替えることで、使用するバージョンを制御できます。
ただし、同一アプリケーションが複数のバージョンを参照する状況はトラブルの原因にもなるため、フォルダ構成や設定ファイルの整理を行い、明示的にバージョンを指定する運用を心掛けましょう。
古いバージョンは削除すべき?
古いJavaバージョンをそのまま放置しておくと、セキュリティリスクが高まる可能性があります。脆弱性が含まれる旧バージョンは、攻撃対象になりやすいため常に最新のLTS版への更新が推奨されます。ただし、業務システムや特定ソフトウェアが旧バージョンに依存している場合は、すぐに削除せず、互換性テストを行ってから安全に移行することが望ましいです。
もし不要な古いバージョンが発見された場合は、Javaのバージョン確認を行った上で、使われていないものをアンインストールするようにしましょう。
バージョン切り替えのやり方
複数のJavaをインストールしている環境では、「JAVA_HOME」や「PATH」環境変数を変更することで簡単にバージョンを切り替えできます。Windowsではシステム環境設定、Mac/Linuxではターミナルからexport JAVA_HOME=/usr/lib/jvm/java-17のように指定します。また、update-alternativesコマンドを使用してOSレベルでデフォルトのJavaを変更する方法も一般的です。
開発用途で頻繁に切り替える場合は、バージョン管理ツール(例:jEnvやsdkman)を利用すると便利です。
アップデート通知を無視しても良いか
Javaのアップデート通知を無視することは可能ですが、おすすめできません。なぜなら、アップデートにはセキュリティパッチやパフォーマンス改善が含まれているからです。特にオンライン接続を行うJavaアプリケーションでは、脆弱性対策が遅れるとシステム全体のリスクにつながります。
更新前には、Javaのバージョン確認を行い、開発環境やアプリケーションの互換性をチェックした上で計画的にアップデートしましょう。安全で安定した開発・運用のためには、最新の安定版を維持することが何より重要です。
まとめ:Javaバージョン確認と管理のポイント

本記事では、「Java バージョン確認」の方法から、インストール・更新・切り替え、さらにトラブル対応までを詳しく解説しました。最後に、開発者やシステム担当者が押さえておくべき重要なポイントを整理します。
- 定期的なJavaバージョン確認を実施する: Javaはセキュリティアップデートや機能改善が頻繁に行われます。定期的にバージョンを確認し、古いバージョンを使い続けないことが安全性向上につながります。
- 開発環境ごとのバージョンの整合性を保つ: チーム開発では、全員が同じJDKバージョンを使用することで、動作不一致やビルドエラーを防止できます。バージョン管理ツールやIDE設定の共有が重要です。
- 複数バージョンの管理を明確に: プロジェクトによって異なるバージョンを求められる場合は、
sdkmanやjEnvといったツールを利用して効率よく切り替える仕組みを構築しましょう。 - 公式リリース情報を確認する習慣をつける: OracleやOpenJDKの公式サイトで最新バージョンやサポートポリシーを確認し、利用中のJavaが適切にメンテナンスされているかを把握しておきましょう。
これらのポイントを実践することで、Java環境の安定性・安全性・開発効率を高めることができます。特に業務システムやウェブアプリケーションでは、「Java バージョン確認」を定期的に行い、適切なアップデートを心がけることが、長期的な運用コスト削減にもつながります。
最後に一言、Javaのバージョン管理は「一度設定して終わり」ではなく、システムの進化とともに見直すべき継続的なタスクです。確実な確認と管理を行い、常に最適なJava環境を維持しましょう。
