「Apache Maven」基本情報
概要
Apache Maven(アパッチ メイヴン)とは、Java用プロジェクト管理ツールです。不明瞭なソフトウェア開発プロジェクトをモデル化して、開発効率を高めます。
基本説明
Apache Mavenは、プロジェクトの「ビルド」「デプロイ」「テストレポート作成」などの開発作業を効率化するためのプロジェクト管理ツールです。
ビルドツール「Apache Ant」のようにbuild.xmlを記述する必要はなく、さまざまなプロジェクト管理処理を行えます。
Apache Mavenの目的
- 構築プロセスをシンプル化
- 均一なビルドシステム
- 質の高いプロジェクト情報提供
- ベストプラクティス開発のためのガイドラインを提供
- 新機能への透過的な移行を可能にする
経緯
Apache Mavenは、Apache Software Foudation直轄のプロダクトとして開発されています。
Maven2
Mavenより使いやすくなった「Maven2」が登場しました。
「Maven2」は「Maven1」との互換性はかなり低いものの、1つのMavenプロジェクトディレクトリで設定ファイルを共有し、併用できます。
Maven3
2010年に、「Maven3」がリリースされました。
各種内部構造の大幅な更新がなされていますが、「Maven2」との後方互換性について確保が図られています。
主な特徴
POM(Project Object Model)
Mavenの考えるソフトウェアプロジェクトのモデルがPOM(Project Object Model)です。Mavenのプロジェクトを定義し、プロジェクトに対してさまざまな働きかけを行います。
POMは、「プロジェクトが実施されている組織」「ソースリポジトリ」「メーリングリスト」「開発者」「貢献者」「ライセンス」「依存ライブラリ」「成果物の構築」「各種レポート」などから構成されます。
ビルドツール機能
Mavenは、ビルドツールという側面があります。
ビルドツール「Apache Ant」がユーザーフレンドリーになったようなツールとして利用できます。
Mavenは内部でAntを使用しており、全ての組込ターゲットを直接使用できます。
プロジェクトサイトジェネレータ機能
Mavenは、POMの情報から、プロジェクトサイト(HTML)を生成できます。
プロジェクトに関するさまざまな情報が含まれます。
ライブラリ自動インストーラ機能
Mavenは、POMで定義している依存関係ライブラリについて、リモートリポジトリから自動取得して、ローカルリポジトリにインストール後、クラスパス設定まで行います。
プロジェクトごとにライブラリを手動でインストールしたり、ライブラリ自体をCVSに格納するなどの作業が必要なくなります。
その他の機能
- ソースコードコンパイル
- テスト
- Javadoc生成
- テストレポート生成
- JAR生成
- サーバへのデプロイ
- WARファイル生成
- EARファイル生成 など
バージョン管理システム対応
「Git」「CVS」「Subversion」などのバージョン管理システムに対応しています。
IDE対応
「Eclipse」「NetBeans」「IntelliJ」などの主要IDEは、Mavenにネイティブ対応しています。
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Apache Ant」「Gradle」など。
オフィシャルサイト
オフィシャルサイト
ライセンス情報
Apache Mavenのライセンスは「Apache License 2.0」です。
詳細について、こちらを参照ください。
→Apache Maven Project →Licenses
ダウンロード
→Apache Maven Project → Download Apache Maven
参考元サイト
- Apache Maven Project →Introduction
- オブラブ →maven連載 →第1回 mavenって何?
- Qiita →【超初心者向け】Maven超入門
- Wikipedia →Apache Maven
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。