複雑な理想的なモノよりも簡単で現実的なモノが受入られる
この議論の内容は面白い。Mavenが世の中に登場してから、既に3〜4年ぐらいは経っていますでしょうか?強力なビルドツールという評価はあるものの、あまり普及していないと私は感じています(少なくても私の周りでは)。
ツールに限らずフレームワークやサービスでも、どんなに高機能で理想的なモノであっても、それが複雑であれば(高機能になれば大抵はそうなる)、簡単で現実的なモノ方が世の中に受け入れられるのだと思います。
上記の議論に、以下のような内容があります。
私は、Mavenのように複雑なビルドシステムの受け入れに前向きなのはJavaユーザだけだと思っています。その他のコミュニティにとっては、"これはなんの地獄だ?"と言うことになるでしょう。私にとってのMavenは、ビルドシステムにおけるEJB2です。:複雑すぎて、技術的すぎて、知識を要しすぎます。
私も、この内容はその通りだと思います。私も半年前ぐらいまでは、Mavenを使うことに価値を見出せませんでした。「ビルドするならAntで構わないじゃん」と思ってました。
Mavenを使って自動的に依存ライブラリを取得するようにするよりも、必要なライブラリをまとめてバージョン管理した方が、開発はラクだと思いますし。
ビルドするだけのためにMavenを利用するのは、私はあまりお勧めしません。AntもMavenも、ビルドスクリプトをXMLで記述することにはなるのですが、Mavenの方が取っつきにくいと感じさせられます(これは、得られる情報量が少なかったり、最初に記述する量が多かったりするせいかな!?)。
ただ、それでも、最近私がMavenを使うようになったのは、ただ1つの理由のみ。
レポート機能があるから
CheckStyleやFindBugs、JUnitの結果などをHTMLレポートとして出力してくれるのは、PM/PLからすると、非常にマネジメントがしやくすなるモノだと感じています。
これは、Antやその他のビルドツールでは、容易には実現できないことです。
なので、私の場合、AntとMavenを併用することもあります。ビルドはAntに任せて、レポートをMavenで出力させて日々のマネジメントに活かす、など。
S2は、S2ContainerがMavenでビルドするようになった頃から、S2コミッタでもMaven使う人が増えたと思います(私もその一人)が、世の中的には、Mavenはどの程度使われているのでしょうかね。