はじめに (対象読者・この記事でわかること)

この記事は、Javaのプログラミング初心者から中級者、特にEclipse IDE を使って開発したコードを コマンドプロンプト (cmd) で実行したいと考えている方を対象としています。
Eclipse 内の「Run」ボタンだけでなく、手動でコンパイルしたり、実行時のクラスパスを自分で設定したりしたいシーンは多く、CI/CD パイプライン構築やサーバー上での運用時に必須のスキルです。

本記事を読むことで、以下のことができるようになります。

  • Eclipse で作成した .java ファイルを javac コマンドでコンパイルする方法
  • java コマンドでクラスパスや実行ディレクトリを指定し、cmd からプログラムを起動する手順
  • 実際に遭遇しやすいエラー(パッケージパスの不一致、環境変数の設定ミス)への対処法

執筆の背景は、読者の皆さんが「IDE だけではなく、ターミナルでも同じコードを動かしたい」というニーズを持つことが多く、実務でのデバッグや本番環境へのデプロイ時に不安を感じないようにしたいという思いからです。

前提知識

この記事を読み進める上で、以下の知識があるとスムーズです。

  • Java の基本的な文法と public static void main の役割
  • Eclipse の基本的なプロジェクト作成手順(ワークスペース、パッケージの作成)
  • Windows のコマンドプロンプトの基本操作(cd、dir、環境変数の確認など)

Eclipse で作成した Java プログラムを CMD で実行する概要

Eclipse は内部的に javac(Java コンパイラ)と java(ランタイム)を呼び出してプログラムを実行しています。IDE の GUI で「Run」すれば自動的にビルドと実行が完了しますが、コマンドラインで手動実行する場合は次の流れを踏む必要があります。

  1. ソースコードの保存場所を把握
    デフォルトではプロジェクトルートの src ディレクトリ以下に .java が配置されます。
  2. コンパイル先ディレクトリ(bin)へのパスを確認
    Eclipse の「プロジェクト → プロパティ → Java Build Path → ソース」から bin フォルダがビルド出力先であることを確認します。
  3. コマンドプロンプトから javac でコンパイル
    必要に応じてクラスパスやパッケージ構造を考慮しながら、javac -d bin src\package\MyClass.java のように指定します。
  4. java コマンドで実行
    java -cp bin package.MyClass でプログラムが起動します。

この手順を正しく行うことで、IDE がなくても同一のバイナリを実行でき、スクリプト化や自動テストの基礎が作れます。

実際の手順とコード例

以下では、具体的なプロジェクト構成とともに、ステップバイステップでコマンドを示します。

ステップ1:プロジェクトの作成とサンプルコード

  1. Eclipse で新規 Java プロジェクト HelloEclipse を作成。
  2. src 配下にパッケージ com.example を作り、その中に Main.java を作成。
Java
package com.example; public class Main { public static void main(String[] args) { System.out.println("Hello, Eclipse + CMD!"); } }
  1. ファイルを保存すると、Eclipse が自動的に bin/com/example/Main.class を生成します。

ステップ2:コマンドプロンプトでのコンパイル(手動の場合)

Eclipse の自動ビルドを無効にした場合や、外部のエディタで書いたコードを手動でビルドしたいときは、次のように javac を使用します。

Bat
rem 作業ディレクトリをプロジェクトルートに移動 cd C:\Users\user\workspace\HelloEclipse rem src のパスを指定してコンパイル、-d で出力先を bin に設定 javac -d bin src\com\example\Main.java

このコマンドでエラーがなければ、bin\com\example\Main.class が生成されます。

ステップ3:cmd での実行

コンパイルが完了したら、次のコマンドでプログラムを実行します。

Bat
rem カレントディレクトリはプロジェクトのルートのままで OK java -cp bin com.example.Main

実行結果は以下の通りです。

Hello, Eclipse + CMD!

ハマった点やエラー解決

1. 「ClassNotFoundException」や「NoClassDefFoundError」が出た

原因-cp(クラスパス)に bin が正しく指定されていない、もしくはパッケージ名が間違っている。

対策

  • java -cp bin com.example.Main のように、完全修飾名(パッケージ込み)でクラスを指定する。
  • bin ディレクトリが相対パスで解決できない場合は、絶対パス C:\Users\user\workspace\HelloEclipse\bin を使用する。

2. 「javac: file not found: src\com\example\Main.java」のエラー

原因:Windows のコマンドプロンプトでパス区切りが \ なのに、Eclipse のプロジェクト構成とズレが生じた。

対策

  • cd でプロジェクトルートに正しく移動したか確認する。
  • src\com\example\Main.java のパスが実際に存在するか dir src\com\example でチェックする。

3. JDK がパスに通っていない

原因javacjava がコマンドとして認識されない。

対策

  • 環境変数 PATH に JDK の bin ディレクトリ(例: C:\Program Files\Java\jdk-21\bin)を追加する。
  • java -version でバージョンが表示されれば設定完了。

解決策まとめ

エラー 原因 解決策
ClassNotFoundException / NoClassDefFoundError クラスパス指定ミス、完全修飾名間違い -cp bin を正しく設定、パッケージ名をフルで記述
javac ファイルが見つからない 作業ディレクトリ違い、パスミス cd でプロジェクトルートに移動、パスを dir で確認
javac / java が認識されない JDK が PATH に未設定 環境変数 PATH に JDK の bin を追加し、java -version で検証

まとめ

本記事では、Eclipse で作成した Java プログラムをコマンドプロンプトから手動でコンパイル・実行する手順 を解説しました。

  • プロジェクト構成の把握(src と bin の位置)
  • javac と java の正しいコマンドオプション-d-cp、完全修飾名)
  • 典型的なエラーとその対処法(クラスパス、パス設定、環境変数)

これらを身につけることで、IDE に依存しない開発フローが構築でき、CI/CD パイプラインやサーバー上でのデプロイが格段に楽になります。次回は、バッチファイルや PowerShell スクリプトでビルド・実行を自動化する方法、さらには JAR ファイル化と java -jar 実行までの流れを紹介する予定です。

参考資料