Mavenとは何か?まとめました。

IT
スポンサーリンク
スポンサーリンク

Mavenとは何か

Javaのビルドツールの代表格「Apache Maven」の略です。
Mavenはオープンソースのビルドツールであり、多くのJava開発ツールで使われています。
特に複雑なプロジェクト構築でJavaフレームワークを使用すときなどに多く使用されているのではないでしょうか。

Mavenの特徴

Mavenは、Antの基本的な考え方を受け継ぎ開発されたビルドツールです。
違う点は、処理に必要な情報をXML形式で記述しソース、ライブラリ、プラグイン、プロキシを経由するのか?といった、プログラム全体を処理するための記述を行います。
ビルドするために処理の内容を細かく指定していく必要はありません。

XML形式で記述

MavenはXMLで記述されたビルドファイルを元に処理を実行します。

ゴールの記述

「処理内容を指定する=ゴールをしていする」
Mavenには作業内容に応じたゴールがすでに用意されています。ゴールのための機能はプラグインとして提供されているためビルドファイルに記述することで誰でも利用することができます。

ライブラリ管理

ビルドツールを利用する人のほとんどの人は、ライブラリの管理のために使用していると言っても良いのではないでしょうか。
プログラムが必要としているライブラリを手動で管理することは現在ではほぼ不可能でしょう。
できないことはないですが、一度ダウンロードしてインストール、しかもバージョンが変わった時は互換性を保つためにダウンロードし直さなければいけません。
手作業ですから、誤ったバージョン、見逃し等があり思わぬバグの原因となったりします。
ビルドツールを使えば、1つ1つを自分で管理することなく、自動的にそれらをダウンロードし使用することができます。

セントラルリポジトリ(Central Repository)

Mavenはビルドファイルの内容を元に、必要なライブラリを自動的にダウンロードし、デフォルトではローカルリポジトリに保存します。
凄まじいですね。
そのCentral RepositoryのURLは以下⇩
Maven Central Repository

これはMavenで利用可能なライブラリを管理しているWebサービスのようなものだと考えていただければと思います。
ビルドファイルの内容を元にセントラルリポジトリにアクセスし、必要なファイルをダウンロードします。

こちらのセントラルリポジトリですが、MavenのみならずGradleやほかのビルドツールの多くで利用されています。
Mavenのセントラルリポジトリは素晴らしいです。
「世界中の、どこでも、いつでも、必要なライブラリを入手できる」
広く活用されている所以です。

テスト、ドキュメントの生成もできる

MavenにはJunitによるテスト、JavaDocの生成機能が用意されています。
Maven一つでさまざまな開発が行えます。

プラグインで拡張

Mavenはプラグインによって拡張できるようになっています。
お好きなプラグインがない場合自分で作成することも可能です。

IT
スポンサーリンク
『ベーシックインカムでセミリタイア!』を目指す20代のブログ