Maven/Gradle

MavenとAntの違い

投稿日:

業務系アプリ開発ではまだまだAntだけ使っている所が多いのではないだろうか。
これから新規開発するプロジェクトでは、Mavenを使い始めるというケースが多かもしれない。

MavenはAntを含んでいる

Antはbuildツールである。
Antを実行するとbuildが行われ、warファイルが作成される。
そのwarを検証環境のTomcatに配備して、Tomcatを再実行というパターンである。

Mavenも同じようにbuildも実行する。
Antの機能をMavenはそのまま持っているわけだ。

Mavenは必要な外部Jarを自動ダウンロードしてくれる便利ツール

では、なぜMavenが使用されるのだろうか。
Mavenを利用する理由は「pom.xml」に象徴される。

pom.xmlとはプロジェクト定義ファイルである

pomとは「Project Object Model」である。
Eclipse上の「プロジェクト」を、オブジェクトに見立ててそのプロジェクトオブジェクトの定義を記述するファイルである。

dependencyを書くと、外部Jarが自動でDLされる

pomの中に<dependency>というタグがある。
<dependency>に使用するモジュール(例えばspring-mvc)を記述すると、spring-mvcに必要なライブラリが自動でプロジェクトに追加されるのである。

どのライブラリを追加するかというのは、Maven Repositoryで集中管理されている。

あなたのpom.xmlに使用するモジュールを記載することで、裏側でネットに接続され、使用するモジュールに応じたライブラリが自動でダウンロードされるのである。

これが、Mavenの目玉機能である。

SVNからプロジェクトをチェックアウトだけでは利便性が分からないかもしれない・・・

しかしこの便利な機能は、開発環境を構築する人でなければ分からないだろう。

業務系アプリ開発のほとんどの要員は、既に用意された開発環境があり、Eclipseに「SVNからプロジェクト」によってプロジェクトをチェックアウトして、自分の担当画面の作成を始めるだろう。

その場合、既にSVN上に必要なライブラリがコミットされているため、自分でpom.xmlを記述する必要がない。

そのため、あまりありがたみを感じるシーンは少ないと思われる。ぜひ一度、自分でpom.xmlを書いてみて、自動でライブラリが追加される課程を見てみることをお勧めする。

Mavenのこの機能によって、プロジェクトで使用するモジュールとバージョンを定義しておくことで、各開発要員は統一された環境を簡単に手に入れることができるようになっているのである。

繰り返しになるが、SVNからプロジェクトをチェックアウトしている限りは、あまりありがたみを感じないが・・・。

-Maven/Gradle

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Gradle 実行時のエラー

——————— 環境 Conoha VPS Ubuntu 16.04 ———&# …

no image

EclipseからMaven-Git Hubの連携

アプリ開発でこういう環境があります。 IDE:Eclipse 構成管理:Maven ソース管理:Git Hub こういう環境はどのように作っていけばいいのでしょうか? 特に、Mavenから先か、Git …

no image

Ubuntu16.04にGradleをインストールする(Gradleのアップデート)

——————— 環境 Conoha VPS Ubuntu 16.04 ———&# …

no image

クラウド開発環境の構築を体系的に学ぼう

1.序章 クラウド開発環境とは何か? クラウド開発環境の構築で挫折しないために クラウド開発環境を効果的に習得する順序 2.Linux OSとは何か? クラウドサービス(IaaS)を申し込む Linu …