いつかMavenと呼ばれたい@Wiki

Mavenを使った開発

最終更新:

匿名ユーザー

- view
メンバー限定 登録/ログイン

Mavenを使った開発


Mavenを使った開発を俯瞰すると図のようになります。



 プロジェクトテンプレート(Artchetype:アーキタイプ)を使ってMavenプロジェクトの雛型を作成します。Mavenにはビルド成果物(Artifact:アーティファクト)の種類に応じて、さまざまなアーキタイプがあらかじめ用意されています。また自分でアーキタイプを作成することもできます。

アーキタイプを使ってテンプレートの雛型を作成するにはarchtypeプラグインのcreateゴールを使います。

mvn archetype:create \
-DgroupId=com.mycompany.app \
-DartifactId=my-webapp \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-webapp


上記の実行サンプルでは、maven-archetype-webappというWEBアプリケーション用のアーキタイプを使って、my-webappというプロジェクトを作成しています。

アーキタイプもMavenプロジェクトのアーティファクトとして管理されています。アーティファクトは固有のグループIDと、アーティファクトIDを持っています。

 Eclipseなどの好みの統合開発環境にプロジェクトをインポートして開発を行います。

たとえばeclipseプラグインのeclipseゴールを使って、MavenプロジェクトをEclipseにインポートすることができます。

mvn eclipse:eclipse

このプラグイン・ゴールを実行すると、Eclipseにインポートするのに必要な以下のファイルが出力されます。
  • .classpath
  • .project
  • .wtpmodules

 ビルドに必要なライブラリを、開発環境上のローカルリポジトリRepository)から参照します。リポジトリはMavenがビルドする際にCLASSPATHに参照するライブラリを置いておく場所です。

リポジトリに置かれているライブラリ(プラグインも置かれます)は、Mavenアーティファクトとして管理されています。したがってそれぞれグループID、アーティファクトIDを持っています。

 ローカルリポジトリに参照するライブラリがない場合、インターネット上のIbiblioサイトに置かれたリモートリポジトリから、ローカルリポジトリへ自動的にダウンロードします。ここはMavenのデフォルトリポジトリとして利用されていて、Jakartaなどのオープンソースの有名なライブラリはほとんどここからダウンロードすることができます。

 プロジェクトや組織ごとに、自分たちのリモートリポジトリを立てることもできます。たとえばチーム内で作られた共通ライブラリなどをここに置いておきます。(Deploy:デプロイ

 JDKや商用のライブラリなど、パブリックな場所での公開ができないライブラリは、あらかじめ各開発者でローカルリポジトリにコピーしておく必要があります。

リポジトリの構造を理解しているならば、手動でコピーすることもできますが、installプラグインのinstall-fileゴールを使ってコピーすることもできます。

mvn install:install-file -Dfile=<path-to-file> \
-DgroupId=<group-id> \
-DartifactId=<artifact-id> \
-Dversion=<version> \
-Dpackaging=<packaging>


上記の実行サンプルでは、ライブラリ<path-to-file>を、グループID<group-id>、アーティファクトID<artifact-id>、バージョン<version>、パッケージングタイプ<packaging>で、ローカル・リポジトリにコピーしています。

 開発成果物を構成管理します。

構成管理は、それぞれ利用しているツールを使って、チェックイン・チェックアウトを行います。

目安箱バナー