実はIDEAのディレクトリ構成が一番おかしい(その2)
つづいて,それぞれのIDEから他のIDEが作ったプロジェクトをマウントしてみる。一応の条件として,ワークスペースの概念をもつIDEは,マウントするプロジェクトをそのワークスペースに移してから検証をすることとした。
#ワークスペース外のプロジェクトをマウントしたらロクな目に合わなかったので...
結果はこう。縦軸が「マウントする側」のIDEで,横軸は「マウントされるプロジェクト」を作成したIDE。
Eclipse | NetBeans | JDev | IDEA | Maven | |
---|---|---|---|---|---|
Eclipse | --- | ○ | ○ | × | ○ |
NetBeans | ▲ | --- | ○ | × | ○ |
JDev | ○ | ○ | --- | × | ○ |
IDEA | ○ | ○ | ▲ | --- | ○ |
Maven | --- | --- | --- | --- | --- |
「WEB-INFがWebリソース置き場に無い」分の悪さがあって,IDEAがデフォで作ったプロジェクトをマウントできる他のIDEはひとつもないという結果となった(まあ,これは予測がついたケド)。
意外に融通効かなかったのが,NetBeansからEclipseのプロジェクトをマウントするとき。Eclipseの「build/ディレクトリ」が邪魔になって,NetBeansがマウントしようとしない。
一旦,buildディレクトリを消しておけば平気だけど,NetBeansとEclipseが混在する場合は,あとあと面倒になると思うので,融通の利くEclipseのほうでbuild以外の名前を使うようにしたほうがいいだろう。
あと一見,Eclipseが好成績に見えるけど,けっこう不安定だったりする。これは,あたし自身がEclipse+WTPに不慣れなせいもあるから,ちょっと公平さに欠ける評価だけど...
JDeveloperの安定感は,割合ホントウ。ただこれ,Webリソース置き場を出力先と兼用したり,タグライブラリ使う時に前もってIDEにTLDの場所教えてあげたりと,変なところに縛りがあって,イマイチ好きになれなかった。
IDEAとJDevの相性の悪さは,JDevのWebリソース置き場の特殊性に関係してて,JDevがプリコンパイルしたJSPのJavaソースをコンパイルしようとしてIDEAが(プロジェクトの実行に)コケるという始末。
プロジェクトのディレクトリ構成をどうするかは,そこで使うIDEの多数派層に合わせとくのが無難なんだけど,それなりにクセがあるので気をつけとこうという話。
個人的にはNetBeansプッシュなんだけど,build.xmlと2つもある出力先(build/とdist/)に気をつけとかないと思わぬところで足をすくわれそう。
そう考えると,Mavenスタイルが無難っぽいけど,自信をもって進められるほどPOM詳しくないんだよなぁ。:-(
#まずは,ソースパスの複数持ちができるかどうかを調べないと。
IDEA?IDEAはいいの。こんな超マイノリティなIDEで,プロジェクトのひな形作るなんてあり得ないから。:-D
ps.
どのIDEも総じて「ライブラリパスはここ」という発想はなかったよ。servlet-api.jarとかはIDEが内包してるのを使うので,普段意識することはまずないけど,ユーザライブラリはどっか置き場所決めとく必要がありますな(定番なところだと「lib/」だろ)。
とはいえど,CIツールでデイリービルドとかしようと思ったら,AntなりMavenの出番になるから,やっぱりMavenのこと考えてたほうがいいんだろうなぁ。