1. 概要

Apache Maven は、主にJavaプロジェクトで使用される強力なビルド自動化ツールです。 Mavenは、プロジェクトに関する情報と構成の詳細を含むプロジェクトオブジェクトモデルまたはPOMを使用して、プロジェクトをビルドします。 POM内で、POM自体またはマルチモジュール構成プロジェクトの任意の子POMで使用できるプロパティを定義できます。

Mavenプロパティを使用すると、1つの場所で値を定義し、プロジェクト定義内のいくつかの異なる場所でそれらを使用できます。

この短い記事では、デフォルト値を構成する方法と、それらを使用する方法について説明します。

2. POMのデフォルト値

最も一般的には、POM でMavenプロパティのデフォルト値を定義します。これを示すために、ライブラリの依存関係のデフォルト値を保持するプロパティを作成します。 まず、POMでプロパティとそのデフォルト値を定義することから始めましょう。

<properties>
    <junit.version>4.13</junit.version>
</properties>

この例では、 junit.version というプロパティを作成し、デフォルト値4.13を割り当てました。

3. settings.xmlのデフォルト値

ユーザーのsettings.xmlでMavenプロパティを定義することもできます。 これは、ユーザーがプロパティに独自のデフォルト値を設定する必要がある場合に役立ちます。 プロパティとその値は、POMで定義するのと同じ方法で、settings.xmlで定義します。

settings.xmlはユーザーのホームディレクトリ内の.m2ディレクトリにあります。

4. コマンドラインのデフォルト値

Mavenコマンドを実行するときに、コマンドラインでプロパティのデフォルト値を定義できます。 この例では、4.13のデフォルト値を4.12に変更しています。

mvn install -Djunit.version=4.12

5. POMでのプロパティの使用

POMの他の場所でデフォルトのプロパティ値を参照できるので、先に進んで junit 依存関係を定義し、プロパティを使用してバージョン番号を取得しましょう。

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
    </dependency>
</dependencies>

$ {junit.version} 構文を使用して、値junit.versionを参照しています。

6. 結論

この短い記事では、Mavenプロパティのデフォルト値を3つの異なる方法で定義する方法を説明しました。ご覧のとおり、これらは、管理するだけで、さまざまな場所で同じ値を再利用できるようにするのに役立ちます。一箇所で。

いつものように、サンプルコードはGitHubにあります。