環境変数とは?
Javaが動かないもっとも大きな要因、それは環境変数だ。 |
そもそも「環境変数」とは何でしょう? これは、「システムが必要とするさまざまな情報を保管している特別な変数」のことです。現在使われているWindows、Mac OS X、LinuxといったOSでは、システムに関する値を環境変数として用意するのが一般的なのです。例えば、システムの中心的なプログラム(WindowsならばWindowsのプログラム)がおさめてある場所、一時ファイルを作成する場所、システムの名称などといった情報が、環境変数を使って保管されています。
Javaの場合、もっとも重要となるのは以下の2つの環境変数です。この2つの役割と設定値を理解するということは、Javaを始める際にもっとも大切なことなのです。
path変数について
これはJavaに限らず、多くのプログラムで使われている環境変数です。pathは、システムがプログラムを実行するときに検索する場所(フォルダ)を示すものです。これは「パス」と呼ばれる形で設定されます。Windows XPなどでは、Windowsのフォルダなどを開くと、ウインドウのアドレスにこんなものが表示されますね?
c:\Program Files\○○
これが、そのフォルダのパスです。path変数では、起動するプログラムがおかれているフォルダのパスを記述します。複数ある場合は、カンマで区切って記述をします。
前回触れたように、Javaにはプログラムを動かすためのJREと、プログラムを作るためのJDKがあります。JREで単にプログラムを動かすだけならば、pathの設定は不要です。が、プログラを作成したい場合には、pathは必ず設定しないといけません。重要なのは、JDKをインストールしてもpathは設定されないということです。つまり、インストールしただけではダメで、利用者が手作業でpathを修正してやらないといけないのですね。
classpath変数について
これは、クラスファイルと呼ばれるJavaのファイルがおかれている場所を示すものです。クラスファイルというのは、Javaで作られたプログラムファイルのことです。Javaを実行するために必要なプログラムファイル(クラスファイル)がどこに保管されているのか?を設定するのがこの変数です。
classpathの設定については、非常に重要なルールがあります。それは、「使ってみて、特に問題がなければ、classpathは設定してはいけない」ということです。classpathは、基本的には設定をしなくても動くようにできているのです。が、利用環境によってはそのままでは動かない場合があります。そういう時にclasspathの設定が必要となるのです。
では、classpathの設定が必要になるのはどういうときなのでしょう。簡単に整理してみると以下のようになります。
●他のプログラムがclasspathという環境変数を既に使っている場合
稀にですが、全く同じ名前の環境変数を使うプログラムがあるのです。既に何らかのプログラムによってclasspathという環境変数が使われている場合には、これをJavaからも使える形に修正しておく必要があります。
●Javaサーバ関係のプログラムをインストールした場合
サーバで動くJavaを使うような場合、このclasspathで必要なファイルを設定しないといけなくなることがあります。
基本的に、Java以外のプログラムの影響でclasspathが使われるような場合のみ、classpathの設定変更が必要になると考えれば良いでしょう。後述する方法で、自分のパソコンにclasspathが設定されているか調べてみると良いでしょう。もし、既にclasspathという変数があったなら、何かのプログラムがこの変数を使っているということになります。この場合は、値を修正しないといけません。もし、classpathという変数が見当たらなかったなら、まだこの変数を使うプログラムはないということですから、この場合はclasspathの設定は不要です。