ローカルのJava環境の管理について

JDKインスコ場所とか人それぞれで,特に初心者の人たちはインストーラの言うとおりにデフォの場所に入れたり,使いもしないJREをついでに入れたりってのが目に付く。
「デフォで入れて何が悪い」ってことはないんだけど,複数の環境を切り替えたりする場合,ある程度の戦略を持って環境構築したほうが良いと思う。
でも,これって経験則による所があるから,誰かが教えてくんないと,ずーっとデフォのままなんだろうなぁ...。


そんなワケで,前にも書いたけど,参考までに自分の環境を晒すことにした。

ディレクトリ構成は,大方は見ての通り。若干補足を入れると,

  • JREはインストールしない。
  • JDKの中身は原則いじらない。
    • JAVA_HOME/jre/extにjarファイル置くなんてもってのほかだ。:-D
  • 環境変数は基本なにも設定しない。
    • コマンドプロンプト開いて,javacとかjavaとか動かないほうがマシなことが多い。
    • せいぜい,PATH変数に"%ANT_HOME%?bin"を設定するくらい。
  • antやtomcatの起動バッチファイルの冒頭に環境変数JAVA_HOMEを書いちゃう。
    • たとえば,ant.batには「set JAVA_HOME=c:?java?jdk?jdk142_12」とか。
    • ただし,コマンドプロンプトからこいつらを使う場合はね(使わないなら,書かない)。
    • もしくは,プロジェクトごとに「setenv.bat」みたいなのを用意して,都度JAVA_HOMEとPATHを設定しても良いかと。
  • repositoryには,JUnitとかjakarta-commonsとかのライブラリを置いておく。
    • mavenのローカルリポジトリみたいなもんだ。
    • できれば,「junit/3.8.1」「junit/4.0」みたくバージョン分けとくと便利。
    • 「repository/dtds」とか作って,各種DTDとかXMLスキーマを入れておくと便利な場合もあるぞ*1

てな感じか。


経験上,環境変数を設定しておいたせいで苦労した事の方が多いので,あんまり設定しないほうがいい(特にCLASSPATHなんて書いちゃダメだ)。そいでも環境変数いじりたいって人は,せめてコレ使おう。
eve - munepi.com


あとは,こいつらをIDEの管理下にもしておく。NetBeansなら,

  • Javaプラットフォームマネージャ」にjava/jdk配下のJDK
  • 「サーバーマネージャ」にjava/apserver配下のAPサーバ。
  • 「ライブラリマネージャ」にjava/repository配下のライブラリ。

って具合。


こうゆうネタって個人の嗜好もあるから「これが最良」ってのはあり得ないのだろうけど,全てが経験に委ねられるってのも厳しい話だよなぁ。あたし自身,他の人がどう管理してるか知りたいくらいだし。
OpenJDKになって,Linuxとかのパッケージマネージャから取得できるようになったら,ちょっとは是正されるのかしらん。


ps.
言うまでもないがJRE(というかJava Plugin)が必要なシチュエーションといえばアプレットくらいかのう.ちょいと前は,APサーバの管理コンソールがアプレットになっていたりして,そのためだけにJRE入れといたってことはある.
#あとは社内システムの制限とか.:-P

*1:IDEAの場合,とても便利になる