写真1●Maven2が生成したプロジェクト情報ページ
写真1●Maven2が生成したプロジェクト情報ページ
[画像のクリックで拡大表示]

 プロジェクト・ビルド・ツールApache Maven2がついにリリースされた。

 以前,本連載で紹介したMavenの新バージョンである(関連記事,「【Jakarta/Apacheウォッチ】第2回 Javaビルド環境の標準はAntからMavenへ」)。新バージョンでは,旧バージョンの弱点の克服や機能強化などが行われ,よりいっそう強力なビルド・ツールとなった。今回は,新しいMavenを紹介する。

プロジェクト管理ツールとしての機能を備える

 Maven は,Antやmakeなどと同様にプログラムのコンパイルやテスト,パッケージングなどを行うビルド・ツールだ。しかし,Mavenが提供する機能はそれだけにはとどまらず,開発プロジェクトに関する様々な情報を管理することが可能だ。プロジェクト管理ツールとしての機能を備えていると言える()。


)ここで言うプロジェクト管理とは,システム開発プロジェクトにおけるソフトウエア・リソースを対象とした管理のことであり,Mavenはスケジュールや予算などのリソース管理ツールではない。
 旧バージョンのMaven(以降,Maven1と呼ぶ)はその豊富な機能と分散開発との親和性,他プロダクトの利用と配布の簡便さから,リリース以来多くのオープンソース・プロダクトの開発に利用されるようになった。Maven1はJavaプログラムを対象としたツールであるため,Javaのプロジェクトに限られるが,Antやmakeの代わりにシステム開発プロジェクトにて利用されるケースも増えている。

Mavenの機能

 新しいMaven(以降,Maven2と呼ぶ)は,Maven1の機能を踏襲しつつ内部の作りをまったく新しいものとし,Maven1での様々な問題点を修正している。まずは,Maven2の機能を紹介する。Maven2ではMaven1同様に下記の機能を提供する。

  • プログラムのビルド
  • ドキュメント生成
  • 各種のレポート生成
  • 依存するライブラリの管理
  • リソース管理システム(SCM)への接続
  • リリースパッケージの生成
  • パッケージのデプロイ
 これらの機能は,特別なタスクを定義することなく簡単に利用できる。実際にはMaven2がPOMとよばれるプロジェクト情報ファイル(プロジェクトごとに用意)とプロジェクト内のプログラムファイルを解析し,様々な機能を実行するようになっている。

Mavenの利用法

 前述したようにMavenは単純なビルド・ツールではない。Mavenを用いてシステム開発プロジェクトを管理する場合,多くの場面でMavenの機能が利用できる。以下にその流れを示す。

  • プロジェクトのディレクトリ構造の作成
  • プロジェクトが依存するライブラリの定義
  • プロジェクトの雛形の作成
  • SCMへの登録
  • 開発メンバへの展開
  • プロジェクトが依存するライブラリの入手
  • プログラムのビルド
  • リリースパッケージの生成
  • リリースパッケージのデプロイ
  • JavaDocの生成
  • 単体テストレポートの生成

 まずはMavenをインストールしてみよう。