特徴

  • プロジェクトオブジェクトモデル(POM)はMavenの動作の基本です。 プロジェクトの開発と管理は、プロジェクトモデルで制御されます。 現状は作成したプロジェクトオブジェクトモデルはXMLファイルで保存します。 また、ObjectBridgeを使ったRDBMS への保存に取り組んでいます。 XML形式でMavenのPOM をどのように記述するか、リンク先に説明があります。
  • 1セットのAntファイルを使って、管理するプロジェクトすべてをビルドします。 いくつものビルドシステムを見張り続ける必要はありません。 Mavenビルドシステムが改良されれば、すべてのMavenユーザが利益を得るのです!
  • Gumpと統合されています。 Gumpに詳しくない方は、プロジェクトの使用者との後方互換性を維持するために Jakartaプロジェクトで使用するツールだと考えて下さい。 Mavenプロジェクトのディスクリプタがあれば、簡単にGumpのナイトリービルドに参加できます。 ナイトリービルドは、Java開発者コミュニティにおいて変更点が実際に持つインパクトに対して、 プロジェクトが遅れないようにします。 私たちは大がかりなビルドツールに取り組んでいますが、Gumpとの統合は、 Mavenのユーザには一切余計な負担がありません。
  • POMに基づいてサイトを公開します。 POMが正確ならば、開発者はプロジェクトのコンテンツを簡単に公開できます。 これには、Mavenがプロジェクトのソースに基づいて生成した文書や独自の文書を含みます。 現在のところ、以下がMavenで提供されています:
    • リポジトリ情報から直接生成された変更ログ。
    • 相互参照ソース。
    • ソースのメトリクス。
    • メーリングリスト。
    • 開発者リスト。
    • 依存関係リスト。
    • ユニットテストレポートとカバレッジレポート。
    • 記事のコレクション。
    • ソフトウェア開発のリファレンス。
    • ソフトウェア開発プロセスの文書。
  • POMに基づいてディストリビューションを公開します。 正確にPOMが設定されていれば、簡単且つ安全にディストリビューションを公開できます。 公開は、作られたディストリビューションがリポジトリのタグに書かれた内容に正確に一致することを知った上で行えます。
  • Mavenは、JARファイルを保管する集中リポジトリの使用を推奨しています。 Mavenは、プロジェクトの使用者がビルドに必要なJARファイルを集中リポジトリからダウンロードするためのメカニズムを持ちます。 これはPerlのCPANによく似ています。 そのため、複数のプロジェクトに渡ってJARファイルを再利用することができ、 後方互換性問題が確実に扱われるために必要なプロジェクト間のコミュニケーションを促します。 私たちはIbiblioの方々とコラボレイトしています。 親切にも、Ibiblioのサーバに集中リポジトリを設置することを許可してくれました。
  • ディレクトリ構造のガイドラインを持ちます。 Mavenにはプロジェクトのディレクトリをどのように構成するかが書かれた文書があります。 一度この構成を覚えれば、Mavenを使用する他のプロジェクトも簡単に設定できます。