javaのプログラムを開発する場合には、コンパイラと呼ばれるjavac.exeを実行させる必要があります。
(コンパイラとは、翻訳プログラムのことです。)
しかし、そのjavac.exeが必ず動くシステム設定になっているとは限りません。
使用するコンピュータに合わせて環境変数の設定が必要になります。
ここでは、その設定を行うバッチファイルの紹介をします。
まず、開発で使うディレクトリを用意し、それをカレントディレクトリとします。ここでは、 d:ドライブルートにjavaのフォルダを用意し、それをカレントディレクトリにします。そのコマンドは次の ようになります。
d: cd d:\java
次にこの環境で、javac.exeが次のように動作しない可能性があります。
これは、PATHの環境設定が正しくない場合です。
この場合は、javac.exeが存在する位置をPATHに追加する必要があります。
以下のように、スタートメニューにある検索を使います。
そして、『javac.exe』を探し、見つかったファイルのプロパティからその位置確認します。
(見つからない場合は、javaの開発環境をインストールしなければなりせん。)
上記例では、『c:\Program Files\java\jdk1.5.0_06\bin』のディレクトリに見つかったので、この親ディレクトリを環境変数 JDKHOMEに記憶し、
それを利用して、PATHのプログラム検索用ディレクトリに追加します。
set JDKHOME=c:\Program Files\java\jdk1.5.0_06 set PATH="%JDKHOME%\bin";%PATH%
set PATH="%JDKHOME%\bin";%PATH% の表現は、現在のPATHの前に、%JDKHOME%\bin;を追加する意味になります。
この実行前のPATHがABCとすると、
このsetで、PATHは"c:\Program Files\java\jdk1.5.0_06\bin";ABC に変更されます。
(なお、javaの開発環境のディレクトリは、javac.exeが存在するbinの親ディレクトリになっているのが普通です)
javac.exeのコンパイラやjava.exeの仮想コンピュータ起動コマンドでは、 CLASSPATHと呼ばれる環境変数が重要な役割を持ちます。 これは、クラスを探すディレクトリを記憶させます。Javaでは、既存のクラスを利用して開発します。 そのクラスが存在するディレクトリを指定します。それは開発環境のディレクトリであるJDKHOMEがよいでしょう。 クラスパスの検索ディレクトリを複数指定する場合は、『; 』で区切ります。 この検索の目的は、実行するプログラムファイルを検索するPATHと似ています。しかしカレントディレクトリも 指定しないと検索できません。よってこの例でのCLASSPATH指定は、次のようになります。
set CLASSPATH=.;"%JDKHOME%"
;で区切られる先頭のパスの『 . 』はカレントディレクトリを意味しています。
以上より、Javaを開発する時に使う『コマンドプロンプトを実行させる』ためのバッチファイルは次のようになります。
d: set WDIR=d:\java cd %WDIR% set JDKHOME=c:\Program Files\java\jdk1.5.0_06 set PATH="%JDKHOME%\bin";%PATH% set CLASSPATH=.;"%JDKHOME%" cmd.exe
このバッチファイルを実行すると、環境設定済みのコマンドプロンプト画面が表示できます。
d:\java にあるソースファイルをjavac.exeでコンパイルできて、クラスファイルが作れます。
作成したクラスファイルを、java.exeコマンドでJava仮想マシンを起動させ、実行できます。
つまり、各種コマンドで絶対パスを指定しなくても実行できると言うわけです。
以下は、Test01.javaのソースファイルに対して実行させている例です。(その後、メモ帳でTest01.javaを開いてます。)