プロジェクト・ビルド・ツールApache Maven2がついにリリースされた。
以前,本連載で紹介したMavenの新バージョンである(関連記事,「【Jakarta/Apacheウォッチ】第2回 Javaビルド環境の標準はAntからMavenへ」)。新バージョンでは,旧バージョンの弱点の克服や機能強化などが行われ,よりいっそう強力なビルド・ツールとなった。今回は,新しいMavenを紹介する。
プロジェクト管理ツールとしての機能を備える
Maven は,Antやmakeなどと同様にプログラムのコンパイルやテスト,パッケージングなどを行うビルド・ツールだ。しかし,Mavenが提供する機能はそれだけにはとどまらず,開発プロジェクトに関する様々な情報を管理することが可能だ。プロジェクト管理ツールとしての機能を備えていると言える(注)。
旧バージョンのMaven(以降,Maven1と呼ぶ)はその豊富な機能と分散開発との親和性,他プロダクトの利用と配布の簡便さから,リリース以来多くのオープンソース・プロダクトの開発に利用されるようになった。Maven1はJavaプログラムを対象としたツールであるため,Javaのプロジェクトに限られるが,Antやmakeの代わりにシステム開発プロジェクトにて利用されるケースも増えている。
注)ここで言うプロジェクト管理とは,システム開発プロジェクトにおけるソフトウエア・リソースを対象とした管理のことであり,Mavenはスケジュールや予算などのリソース管理ツールではない。
Mavenの機能
新しいMaven(以降,Maven2と呼ぶ)は,Maven1の機能を踏襲しつつ内部の作りをまったく新しいものとし,Maven1での様々な問題点を修正している。まずは,Maven2の機能を紹介する。Maven2ではMaven1同様に下記の機能を提供する。
- プログラムのビルド
- ドキュメント生成
- 各種のレポート生成
- 依存するライブラリの管理
- リソース管理システム(SCM)への接続
- リリースパッケージの生成
- パッケージのデプロイ
Mavenの利用法
前述したようにMavenは単純なビルド・ツールではない。Mavenを用いてシステム開発プロジェクトを管理する場合,多くの場面でMavenの機能が利用できる。以下にその流れを示す。
- プロジェクトのディレクトリ構造の作成
- プロジェクトが依存するライブラリの定義
- プロジェクトの雛形の作成
- SCMへの登録
- 開発メンバへの展開
- プロジェクトが依存するライブラリの入手
- プログラムのビルド
- リリースパッケージの生成
- リリースパッケージのデプロイ
- JavaDocの生成
- 単体テストレポートの生成
まずはMavenをインストールしてみよう。