Eclipseで作成したJava(class)をコマンドプロンプトで実行する

メモ:

EclipseでHello, World!(Java)」では、Eclipseで作成したHello World!をEclipseで実行することができました。

ここでは、作成されたclassファイルをコマンドプロンプトで実行する方法を確認していきます。

classファイルをコマンドプロンプトで実行

今回作成した「Hello World!」は、パッケージ名を「net.bnote.test」としています。 そのため作成されたclassファイルは次のディレクトリ構成で作成されています。

クラスファイルが作成されるディレクトリ

EclipseでHello, World!(Java)」で作成したclassファイルと同じようにHello.classというファイルが作成されているものとします。

それでは、コマンドプロンプトで次のコマンドを実行してみます。

c:\>java net.bnote.test.Hello

コマンドを実行すると次のエラーが表示され処理が終了します。

エラー: メイン・クラスnet.bnote.test.Helloが見つからなかったかロードできませんでした

コマンドプロンプトから実行するには、いくつかの方法がありますので順に確認していきます。

カレントディレクトリを移動する

カレントディレクトリをclassファイルが作成されるbinディレクトリに移動しコマンドを実行します。

c:\>cd c:\workspace\HelloWorld\bin
c:\workspace\HelloWorld\bin>java net.bnote.test.Hello
Hello, World!

引数にクラスパスを指定する

クラスパスとは、Javaアプリケーションを実行するときに、Java Virtual Machine(Java VM)にどの場所からクラスファイルを読み込めばよいかを、指定するために必要となるものです。

エラーが発生したケースでは、Hello.classがどこにあるのかわからないという事になります。

そこで、引数にクラスパスを指定し場所が分かるようにしてあげます。

c:\>java -classpath .;c:\workspace\HelloWorld\bin net.bnote.test.Hello
Hello, World!

環境変数にクラスパスを指定する

クラスパスを指定するには、環境変数を使う方法もあります。

例えば、run.batというファイルを次のように作成します。

set CLASSPATH=.;c:\workspace\HelloWorld\bin
java net.bnote.test.Hello

コマンドプロンプトから作成したバッチを実行することでクラスファイルを実行することができます。