けんとのブログ

ぼやき&開発メモ

環境変数設定

2008年11月30日 14時16分33秒 | Java
環境変数って?
→これは、「システムが必要とするさまざまな情報を保管している特別な変数」のことです。
現在使われているWindows、Mac OS X、LinuxといったOSでは、システムに関する値を環境変数として用意するのが一般的なのです。
例えば、システムの中心的なプログラム(WindowsならばWindowsのプログラム)がおさめてある場所、
一時ファイルを作成する場所、システムの名称などといった情報が、環境変数を使って保管されています。

Javaの場合、もっとも重要となる環境変数はpath変数とclasspath変数です。
この2つの役割と設定値を理解するということは、Javaを始める際にもっとも大切なことなのです。

path変数って?
これはJavaに限らず、多くのプログラムで使われている環境変数です。
pathは、システムがプログラムを実行するときに検索する場所(フォルダ)を示すものです。
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の設定は不要です。


[手順]
ユーザ環境変数に新規で変数に「PATH」、値に「C:\Program Files\Java\jdk1.6.0_10\bin」を設定
コマンドプロンプトでコマンド「javac」を実行
使い方・・が出ればok
設定ができてないと「・・バッチファイルとして認識されていません」と出る。
簡単なプログラム作って実行させてみて動くか確認。
ok

参考HP「http://allabout.co.jp/internet/java/closeup/CU20050815A/」

※他のサイトでJAVA_HOMEを設定したりとかしてるけど、しなくてもいい。
JAVA_HOMEとかは環境変数を沢山設定していくと、パスがずらずらならんで、見にくくなるので、
パスをJAVA_HOMEっていう変数にしてるだけ。
ちなみにJAVA_HOMEとか自分で作った変数の使い方はOSによって異なる。
WindowsXPなら%JAVA_HOME%ってな感じで%%でくくって使う。
※XXのユーザ環境変数に設定すると今ログインしているユーザ(XX)のみので有効になる。
システムの環境変数に設定すると全てのユーザで有効になる。

う~ん、
動いたけど、今後の開発で何かをCLASSPATHに追加することになったとき、
JAVAのCLASSPATHを設定してないから動かなくなりそう・・・
ってことで設定しておく。
上記HPでは変数に「CLASSPAHT」、値に「;.;C:\Program Files\Java\jdk1.5.0\lib;」
としている。
HELLO JAVA「http://www.hellohiro.com/appli.htm」では
変数に「CLASSPAHT」、値に「.;%JAVA_HOME%\lib\tools.jar」
としている。ちなみに%JAVA%は「C:\Program Files\Java\jdk1.5.0」ね。
さてどっちがほんと??
ちなみに .って必要?
CLASSPATH環境変数を設定する場合、
デフォルト時に設定されている.(カレントディレクトリ)は無効になります。
そのため、.(カレントディレクトリ)をCLASSPATH環境変数に含めたい場合は、設定時に.(カレントディレクトリ)を含めます。
ほとんどの場合において、.(カレントディレクトリ)も設定したほうがいいです。

他のサイトも色々見てみた。
大体「PATH」までの設定で終わってる感じ。
「CLASSPATH」まで設定してるやつは、~.jarまで書いてたな。けど微妙に違ってたりする・・・

よし!やっぱり「PATH」の設定までにしとく。
他で「CLASSPAHT」の設定が必要なときは合わせてJAVAの「CLASSPAHT」も設定することを忘れずに!
そんときはHELLO JAVAの方で設定しよう!

javaインストール

2008年11月30日 14時06分07秒 | Java
「java」とか検索してすぐ出てくるjavaのインストールHPでは
最新のjava jreをインストールする画面が出てくる。
jreには既に開発されたjavaを実行する為の環境が入っている。
自分らは開発をするので、開発環境が入ったjava jdkが必要。
「java jdk」とかで検索すると出てくる。
現時点での最新バージョンは
jre-6u10-windows-i586-p-iftw.exe
jdk-6u10-windows-i586-p.exe
jreでは開発はできないよー。
jdkをダウンロード。インストールする。