2011年10月19日水曜日

[eclipse][環境変数]eclipseを使う場合の環境変数設定について

eclipse、特にpleiadesを使った場合、環境変数の設定は必要ない。
Java入門サイトを見ると、Windowsの場合、よく環境変数のPATH変数にJAVA_HOMEやJAVA_HOME/binへの参照を追加する、という記述が見られる。

かつてMS-DOS時代ならば、configでこうしたパス設定を行うことは珍しくなかったかも知れない。
しかし、シェル変数による環境変数設定が一般的なLinuxでも、むやみに環境変数を書き換えることは推奨されていない。
少なくとも、特定ユーザのログインシェル(.profileや.bashXXなど)を変更し、他のユーザに影響を与えないことが基本である。

Windowsの場合、環境変数はそこまで柔軟なものではなく、下手に書き換えるとPCが正しく立ち上がらなくなったりする。
できれば環境変数設定を操作してはいけないのである。
(その点Linuxならばシェルスクリプトに、当該スクリプト内だけのシェル変数を定義できるので、シェルごとにパス設定が簡単にできる。色々な意味で、WindowsとLinuxの作法は違うのである)

eclipseはそうした点のかなりの部分を解消してくれる。
日本語環境であるpleiadesを使った場合、[ウインドウ]-[設定]で表示されるダイアログから[Java]-[コンパイラー]の順に選んでいくと、最初からpleiadesに入っている複数バージョンのコンパイラを選ぶことができる。

重要なのは1.4から1.5への移行だろう。
1.5以降はVector<String>といったコンテナの型指定が必須となっており、こう書かないと警告になる。
ところが1.4だとGenerics(型指定等を含む新しい文法)がまだ含まれていないため、Vector<String>と書くとコンパイルエラーになってしまう。

1.4ではJUnit4が使えないという点も不利である。
JUnit4はそれまでのJUnitよりも更に簡単な記述で、自動テストができるようになっている。
メソッド名に制約があったり、テストの実行順序などを細かく記述しないとテストスイートが動かなかったJUnit3と比べると便利であり、一度慣れてしまうとなかなか戻れない。

こうしたコンパイラのバージョンはeclipse上で変えられるため、環境変数の設定は必要ない。
同様にTOMCAT_HOMEやMySQLのディレクトリ設定も必要ない。
TOMCATはTOMCATプロジェクトを作った場合、pleiades(eclipse)がTOMCAT_HOME以下WEB-INFまでのパス設定をプロジェクトの設定ファイルで作ってくれる。

MySQLは多少面倒でもバッチファイルにフルパス名でコマンドを記述するか、インストーラでインストールした場合に付属するツールを使えば、パスが通っていなくても動作させることができる。

初心者のときに随分色々と環境変数を追加して「アナログなことをするんだなぁ」と思っていたのは少し前の話。
洗練された統合環境には、必ず洗練されたパス解決の仕組みが備わっているのだ、と思う。
最近になってようやくそのことを理解し、JAVA_HOMEなどの余計な環境変数設定を全て削除して、環境変数をきれいな状態に戻すことができた。

0 件のコメント:

コメントを投稿