Maven とはApache Software Foundationで開発されているソフトウェアプロジェクト管理ツールです。
Maven は Project Object Model (POM) という考え方に基づき、プロジェクトのビルド、テスト、ドキュメンテーション、成果物の配備など、プロジェクトのライフサイクル全体を管理します。プロジェクトのビルドツールである Ant とは異なり、Maven はプロジェクト管理ツールとして、プロジェクトに関する色々な情報を POM に集約し、POM の情報に基づきプロジェクト全体を管理します。
Maven の機能をいくつか挙げると:
- プロジェクトの依存するライブラリの管理。
- プロジェクト情報の配信。(サイトの作成、配備やユニットテストのレポートなど)
- プロジェクトの作成からコンパイル、テスト、パッケージング、配備などのプロジェクトのライフサイクルに含まれる各タスクの支援。
などがあります。
また、Maven はソフトウェアプロジェクトの「管理ツール」であると同時に「理解ツール」でもあります。Maven の第一の目標は、開発者が短期間でプロジェクトを理解する助けとなることです。そのために、Maven では:
- ビルドプロセスを簡単にする。
- 統一したビルドシステムを提供する。
- 良質のプロジェクト情報を提供する。
- 開発のベストプラクティスのためのガイドラインを提供する。
- 新機能への透過的な移行を考慮に入れる。
ということが行われています。これらにより、Maven を利用したプロジェクトはどれもビルド方法が同じであったり、ディレクトリ構成がほぼ同じなので全体を把握しやすいなどのメリットが生まれます。
Maven の構成は、小さなコアと大量のプラグインから成っています。そして、プラグインやライブラリは必要に応じて自動的にダウンロードが行われます。この仕組みによって、Maven やプラグインがバージョンアップされたときに、新機能へ透過的に移行することができます。
早い話が実際に開発を行っていると「開発⇒Junit⇒コンパイル及びパッケージング(jar or war)化⇒デプロイ(配備)⇒動作確認」が繰り返し行われることになると思いますが、その辺を自動化するってことです。
最終更新:2013年10月23日 21:58