Apache Maven
| 開発元 | Apacheソフトウェア財団 |
|---|---|
| 最新版 | 3.0.4 / 2012年01月20日 |
| 対応OS | クロスプラットフォーム |
| プラットフォーム | Java |
| 種別 | プロジェクト管理ツール |
| ライセンス | Apache License 2.0 |
| 公式サイト | http://maven.apache.org |
Apache Maven(アパッチ メイヴァン/メイヴィン)は、Java用プロジェクト管理ツールである。Apache Antに代わるものとして作られた。Apacheライセンスにて配布されているオープンソースソフトウェアである。
目次 |
[編集] 特徴
このツールの大きな特徴はプラグイン拡張により様々な使い方ができることである。ソースコードのコンパイル、テスト、Javadoc生成、テストレポート生成、プロジェクトサイト生成、JAR生成、サーバへのデプロイ、WAR, EARファイル生成など様々な機能が用意されており、Antの場合にはbuild.xmlという設定ファイルに細かい指示を記述して行っていた各処理を、Mavenでは指示をコマンドラインに記述するだけで一度に実現が可能である。
pom.xml(Maven1ではproject.xml)の<dependency>タグにプロジェクトで使用したいJARライブラリを指定することで、外部JARのアップデートが容易となる。従来はJARを手動でダウンロードして、手動でインストールする必要があった。この機能によってJakarta JJarというPerlのCPANやPHPのPEARに似た技術により、WindowsUpdateなどのLiveUpdateのように容易にライブラリをアップデートできる。そのほかCVSやSubversionなどのバージョン管理システムにも対応している。
開発チームでプロジェクトを共有したいとき、JARファイルをわざわざ他者に手動でダウンロード、インストール、アップデートさせる手間も省くことができ、pom.xmlファイルと必要なソースコード、リポジトリに登録されていないJARファイルを配布するだけで済むようになる。
Mavenはプラグインによって拡張することも可能である。
[編集] Maven 2
Maven 2はJavaで書き直されて多くの点で改良されているため、Maven 1と互換性がかなり低いものの、Maven 1とMaven 2で使われるMavenのファイル名が異なることから、ひとつのMavenプロジェクトディレクトリでMaven 1とMaven 2の設定ファイル(project.xml,pom.xmlなど)を共有し、併用することができる。Apache Jelly及びAntに対する依存性はなくなっている。また、スクリプト言語であるGroovyに対応している。Maven 2ではproject.xmlがpom.xmlになり文法が変わっている。project.propertiesはsettings.xmlに変わった。Maven 1で使用していたmaven.xmlはpom.xmlに統合されている。
[編集] 外部ツール
Maven 1,Maven 2にはEclipse (統合開発環境)から利用可能なプラグインMevenide, Maven workshop, Maven Repo Search Plugin, m2eclipseなど、Mavenの作業を容易にするGUIベースの外部ツールが存在する。(今のところMaven2に対応しているのはMaven Repo Search Plugin, m2eclipse,IAM(q4e) のみ)