こんにちは、ぽんぽこです。
アプリを自作しようと色々調べて「Maven」を使おう!と思い作業、、、
環境構築だけでめちゃめちゃ時間がかかったのでメモ。
不備等がございましたらご指摘お願い致します。
#Mavenを使っていく中で直面した問題点
- 環境構築にめちゃめちゃ時間が掛かった。
- Antでいろいろなタスクを使おうと思ったけど、面倒でやめてしまった。
主にこの2つでイライラしておりました。
#Mavenとは?
Mavenとは「専門家、達人」という意味です。
Javaのビルドツールの代表格「Apache Maven」の略です。
Mavenはオープンソースのビルドツールであり、多くのJava開発ツールで使われています。
特に複雑なプロジェクト構築でJavaフレームワークを使用すときなどに多く使用されていると思います。
Mavenは、Antの基本的な考え方を受け継ぎ開発されたビルドツールです。
違う点は、処理に必要な情報をXML形式で記述しソース、ライブラリ、プラグイン、プロキシを経由するのか?といった、プログラム全体を処理するための記述を行います。
ビルドするために処理の内容を細かく指定していく必要はありません。
#Mavenで出来ることって?
###Mavenの主な機能
-
ビルドツールとして
- 拡張タスクとして提供されていた様々な機能を、Mavenではプラグインという形で利用することができます。
- プロパティファイルを設定するだけでよく、専用のXMLの記述は必要ありません。またプラグイン自体もコマンド1つでインストールすることができる。
- プロパティファイルに設定したプロジェクト固有の値を動的にXMLに埋め込んでAntを実行させることで、利用者が余計なXMLを記述せずとも、拡張タスクの恩恵を受けることができるようになっています。
-
プロジェクトサイトジェネレータとして
- MavenはPOMに定義されている情報にアクセスして、HTMLとしてプロジェクトサイトを生成することができる。
- Antで使用するようなXMLの記述なしに、プロパティファイルの設定だけで生成することができます。
-
ライブラリ自動インストーラとして
- MavenはPOMのdependenciesで定義している依存関係のあるartifactをリモートリポジトリより自動取得して、ローカルリポジトリにインストールする機能があります。
- 自前のリポジトリを設定することで、同じ様に自動でインストールすることができる為、プロジェクト毎にライブラリを自前でインストールしたり、ライブラリ自体をCVSに格納せずともライブラリが利用できます。
今回は、Mavenとは何かについて記載させていただきました。
次回で、環境構築について説明していこうと思います。
では、次回。