正直、開発指示通りに作成していれば、JDKの知識がなくてもWebシステム開発は問題なく行うことができます。
ですが、不具合が発生したときにその原因を突き止めたり、自力で解決したりするには、JDKに関する基本的な理解がとても役立ちます。
本記事では、JDKの基本知識から、インストールや設定の方法、よくあるエラーの解決策までを分かりやすく解説します。
この記事はこんな人におすすめ!
✅ JDKの基本を知りたい:JDKとは何か、どのように動作するのか
✅ JDKのインストールや設定方法を知りたい:環境構築の具体的な手順が知りたい
この記事を書いた人
モグラビト
SES6年間、社内SE3年、メーカー勤務2年の実績。
1. そもそもJDKとは?
JDK(Java Development Kit)は、Javaプログラムの開発に必要なツールがすべて含まれた開発キットです。これを使うことで、Javaのコードを作成・コンパイルし、実行することができます。
主な構成要素
- Javaコンパイラ(javac)(
javac
):Javaのコードをコンピュータが理解できる形式(バイトコード)に変換します。 - Javaランタイム環境(JRE, java):Javaプログラムを実行するための環境で、Java仮想マシン(JVM)も含まれています。
- ライブラリ(標準API群):プログラムを書く際に使える便利な機能が詰まったものです。
なぜJDKが必要なのか?
Javaでプログラムを開発するには、単にコードを書く(ソースコード作成)だけでなく、コンパイル(プログラムを実行可能な形式に変換)し、実行する必要があります。JDKには、この一連の作業を行うために必要なツールが含まれています。
2. JDKのバージョンと選び方
JDKにはさまざまなバージョンが存在し、用途によって適切なものを選ぶ必要があります。
- LTS(Long-Term Support)版: 長期サポートが提供される安定版(例:JDK 8、JDK 11、JDK 17、JDK 21)。
- 最新リリース版: 新機能をいち早く試せるが、短期サポート。
- OpenJDK vs Oracle JDK: OpenJDKはオープンソースで無料。Oracle JDKは商用利用の場合ライセンスが必要。
2024年現在、LTS版の中でもJDK 17が特に安定しており、多くの環境で採用されています。
モグラビト
3. インストールと確認
① JDKのインストール
Eclipseをインストールする際、Pleiades版ではJDKが同梱されていますが、通常版では別途インストールが必要です。
Pleiades版のEclipseを使用する場合、JDKは以下のディレクトリに含まれています。
C:\pleiades\2023-12\java\17\bin
② インストールされているJDKの確認
JDKが正しくインストールされているかを確認するには、以下のコマンドをコマンドプロンプトで実行します。
javac -version
成功例(JDK 17がインストールされている場合):
javac 17.0.10
JDKがインストールされていない、または認識されていない場合
JDKがインストールされていない、または環境変数が適切に設定されていない場合、以下のようなエラーが表示されることがあります。
エラーメッセージの例:
'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
対処方法:
- JDKがインストールされているか確認する(インストールされていない場合は Oracle公式サイト を参照)。
- 環境変数
JAVA_HOME
とPATH
の設定が正しいかを確認する(設定手順は次の章で説明)。
4.環境変数の確認と設定
JDKを正常に使用するためには、環境変数が適切に設定されている必要があります。環境変数とは、OSがプログラムの実行時に参照する設定情報のことで、特にJavaの実行には重要です。
① JAVA_HOME
の確認
JAVA_HOME
は、JDKがインストールされているディレクトリを示すための環境変数です。
コマンドプロンプトで以下を実行します。
echo %JAVA_HOME%
OKの例:
C:\pleiades\2023-12\java\17
NGの例(何も表示されない場合や、エラーが表示される場合):
JAVA_HOME
が未設定である可能性があります。
対処法: 設定が必要な場合は、次の手順で環境変数を追加してください。
② PATH
の確認
PATH
には、javac
や java
などJava関連コマンドを実行するためのパスを含める必要があります。
以下のコマンドで確認できます。
echo %PATH%
OKの例(複数のパスが表示される):
C:\pleiades\2023-12\java\17\bin;(省略)
NGの例:
- Javaのパスが含まれていない
③ JAVA_HOME
と PATH
の設定
- 「環境変数の編集」画面を開く
- Windowsの検索ボックスで「環境変数」と入力し、「システム環境変数の編集」を選択。
- または、「Win + R」を押して
sysdm.cpl
を入力し、「詳細設定」タブの「環境変数」ボタンをクリック。
JAVA_HOME
を設定- 「システム環境変数」に新しい変数を作成(または編集)し、JDKのインストールパスを指定。
- 例:
C:\pleiades\2023-12\java\17
PATH
を編集%JAVA_HOME%\bin
を追加。- 例:
C:\pleiades\2023-12\java\17\bin
⚠️注意:
- PATH変数を編集する際は、既存のエントリを削除しないように注意してください。他のプログラムの動作に影響が出る可能性があります。
%JAVA_HOME%\bin
をリストの先頭に追加すると、意図したJDKが優先的に使用されます。- 複数のパスは
;
(セミコロン)で区切る必要があります。
環境変数の変更後は、コマンドプロンプトを開き直して反映されているか確認しましょう。以下のコマンドで確認できます。
javac -version
正しくバージョン情報が表示されれば、設定は完了です。
5. よくあるエラーと対処法
JDKの設定が正しくないと、Javaの開発や実行時にさまざまなエラーが発生することがあります。ここでは、初心者の方がつまずきやすい代表的なエラーとその原因・対処法を紹介します。
① java -version
実行時に「command not found」
- 原因:JDKがインストールされていない、または環境変数
JAVA_HOME
やPATH
が適切に設定されていない可能性があります。 - 対処法:
- JDKが正しくインストールされているか確認。
JAVA_HOME
とPATH
の設定を再確認(第4章を参照)。
② UnsupportedClassVersionError
- 原因:Javaのコンパイル時と実行時でJDKのバージョンが異なる場合に発生します。
- 対処法:
javac -version
とjava -version
を実行して、それぞれのバージョンを確認。- すべて同じバージョンのJDKを使用するように調整。
③ NoClassDefFoundError
- 原因:実行時に必要なクラスファイルが見つからない場合に発生します。多くの場合、クラスパスの設定ミスが原因です。
- 対処法:
- クラスパス(
classpath
)が正しく設定されているか確認。 - 例:
java -cp .;lib/* MainClass
のように、クラスパスを明示的に指定して実行する。 - ※Windowsではセミコロン(
;
)、Mac/Linuxではコロン(:
)で区切ります。
- クラスパス(
④ Could not create the Java Virtual Machine
- 原因:JVMの起動オプション(
JAVA_OPTS
など)が不適切、またはメモリの指定が足りない場合に発生します。 - 対処法:
- JVMオプションのメモリ設定(例:
-Xmx
)を見直す。 - 例:
-Xmx512m
を-Xmx1024m
に変更してみる。
- JVMオプションのメモリ設定(例:
✅ まとめ:JDKの基礎を押さえて、安心して開発をはじめよう!
JDKはJava開発の土台となる非常に重要なツールです。
正直、Webシステム開発はJDKの詳細を知らなくても進められることが多いですが、
トラブル時の対応力や応用力を高めるためにも、今回紹介した内容をしっかり理解しておくと安心です。業務経歴
「環境変数って何?」「バージョンエラーってどう対処するの?」といった疑問も、この記事を通して少しでもクリアになれば幸いです。
📘さらにスキルアップしたい方へ
本格的にJavaやWebアプリ開発を学びたい方には、Udemyなどのオンライン学習サービスがおすすめです。
動画で分かりやすく解説されており、環境構築からアプリ公開まで体系的に学べます。
✅ スキマ時間でも少しずつ学習できる
✅ 一度購入すれば何度でも見返せる
すきま時間に自分のペースで進められるので、忙しい方にもぴったりです。
Udemyについては過去に紹介記事を書いているので、こちらからどうぞ。
✍️ 運営者について
当ブログでは、現役でWebシステム開発を行っているSEが、現場目線で役立つ情報を発信しています。
今後も、JavaやWeb開発に関するノウハウやトラブル解決法を紹介していきますので、ぜひブックマークしてチェックしてくださいね!