第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 EAP 6 には、Java EE 開発者が JBoss EAP 6 でアプリケーションをビルドする際に使用する要件の多くが含まれる Maven リポジトリーが含まれます。このリポジトリーを使用するようにプロジェクトを設定するには、「JBoss EAP Maven 6 リポジトリーを設定します」を参照してください。
リモートリポジトリーへのアクセスには、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 ファイル
Project Object Model (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.4-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.4-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。