第2章 Maven ガイド
2.1. Maven について
2.1.1. Maven リポジトリについて
Apache Maven は、ソフトウェアプロジェクトの作成、管理、構築を行う Java アプリケーションの開発で使用される分散型ビルド自動化ツールです。Maven は Project Object Model (POM) と呼ばれる標準の設定ファイルを利用して、プロジェクトの定義や構築プロセスの管理を行います。POM はモジュールやコンポーネントの依存関係、ビルドの順番、結果となるプロジェクトパッケージングのターゲットを記述し、XML ファイルを使用して出力します。こうすることで、プロジェクトが正しく統一された状態で構築されるようにします。
Maven は、リポジトリを使いアーカイブを行います。Maven リポジトリには Java ライブラリ、プラグイン、その他のアーティファクトが格納されています。デフォルトのパブリックリポジトリは Maven 2 Central Repository ですが、複数の開発チームの間で共通のアーティファクトを共有する目的で、社内のプライベートおよび内部リポジトリとすることが可能です。また、サードパーティのリポジトリもあります。JBoss Enterprise Application Platform 6 には、Java EE 開発者が通常 JBoss Enterprise Application Platform 6 でアプリケーションを構築する際に利用する要件の多くが含まれています。このようなリポジトリを使うようプロジェクトを設定するには、 「 JBoss Enterprise Application Platform の Maven リポジトリの設定」 を参照してください。
リポジトリはリモートにもローカルにもすることができます。リモートのリポジトリには、HTTP サーバーのリポジトリには
http://
、ファイルサーバーのリポジトリにはfile://
という風に共通のプロトコルを使いアクセスします。ローカルのリポジトリは、リモートリポジトリからのアーティファクトをダウンロードしキャッシュ化したものです。
Maven に関する詳細情報は、Welcome to Apache Maven を参照してください。
また、Maven リポジトリの情報は Apache Maven Project - Introduction to Repositories を確認してください。
さらに、Maven POM ファイルの詳細情報は Apache Maven Project POM Reference および 「Maven POM ファイルについて」 から確認いただけます。
2.1.2. Maven POM ファイルについて
プロジェクトオブジェクトモデル (POM) ファイルはプロジェクトをビルドするために Maven で使用する設定ファイルです。POM ファイルは XML のファイルであり、プロジェクトの情報やビルド方法を含みます。これには、ソース、テスト、およびターゲットのディレクトリーの場所、プロジェクトの依存関係、プラグインリポジトリー、実行できるゴールが含まれます。また、バージョン、説明、開発者、メーリングリスト、ライセンスなどのプロジェクトに関する追加情報も含まれます。
pom.xml
ファイルでは一部の設定オプションを設定する必要があり、他のすべてのオプションはデフォルト値に設定されます。詳細については、 「Maven POM ファイルの最低要件」を参照してください。
pom.xml
ファイルのスキーマは http://maven.apache.org/maven-v4_0_0.xsd にあります。
POM ファイルの詳細は Apache Maven Project POM Reference を参照してください。
2.1.3. Maven POM ファイルの最低要件
最低要件
pom.xml
ファイルの最低要件は次の通りです。
- プロジェクトルート
- modelVersion
- groupId - プロジェクトのグループの ID
- artifactId - アーティファクト (プロジェクト) の ID
- version - 指定グループ下のアーティファクトのバージョン
サンプル pom.xml ファイル
基本的な pom.xml
ファイルは次のようになります。
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.jboss.app</groupId> <artifactId>my-app</artifactId> <version>1</version> </project>
2.1.4. Maven 設定ファイルについて
Maven の
settings.xml
ファイルには Maven に関するユーザー固有の設定情報が含まれています。開発者の ID、プロキシ情報、ローカルリポジトリの場所など、 pom.xml
ファイルで配布されてはならないユーザー固有の設定が含まれています。
settings.xml
が存在する場所は 2 つあります。
- Maven インストール
- 設定ファイルは
M2_HOME/conf/
ディレクトリにあります。これらの設定はglobal
設定と呼ばれます。デフォルトの Maven 設定ファイルはコピー可能なテンプレートで、これを基にユーザー設定ファイルを設定することが可能です。 - ユーザーのインストール
- 設定ファイルは
USER_HOME/.m2/
ディレクトリにあります。 Maven とユーザーのsettings.xml
ファイルが存在する場合、内容はマージされます。重複する内容がある場合、ユーザーのsettings.xml
ファイルが優先されます。
Maven
settings.xml
ファイルの例は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <profiles> <!-- Configure the JBoss EAP Maven repository --> <profile> <id>jboss-eap-maven-repository</id> <repositories> <repository> <id>jboss-eap</id> <url>file:///path/to/repo/jboss-eap-6.0-maven-repository</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>jboss-eap-maven-plugin-repository</id> <url>file:///path/to/repo/jboss-eap-6.0-maven-repository</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <!-- Optionally, make the repository active by default --> <activeProfile>jboss-eap-maven-repository</activeProfile> </activeProfiles> </settings>
settings.xml
ファイルのスキーマは http://maven.apache.org/xsd/settings-1.0.0.xsd にあります。