1. 概要
この短いチュートリアルでは、コマンドラインを使用してMavenに引数を渡す方法を見ていきます。
2. Mavenプロパティ
Mavenプロパティは値のプレースホルダーです。 まず、pom.xmlファイルのpropertiesタグの下でそれらを定義する必要があります。
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<start-class>com.example.Application</start-class>
<commons.version>2.5</commons.version>
</properties>
次に、それらを他のタグ内で使用できます。 たとえば、この場合、commons-io依存関係で「commons.version」値を使用します。
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>{commons.version}</version>
</dependency>
実際、これらのプロパティはpom.xml、、 build 、 package 、pluginセクションなどのどこでも使用できます。 。
3. プロパティのプレースホルダーを定義する
開発時に物件の価値がわからない場合があります。 この場合、構文 $ {some_property} を使用して、値の代わりにプレースホルダーを残すことができ、Mavenは実行時にプレースホルダー値をオーバーライドします。 COMMON_VERSION_CMDのプレースホルダーを設定しましょう。
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<commons.version>2.5</commons.version>
<version>${COMMON_VERSION_CMD}</version>
</properties>
4. Mavenに引数を渡す
それでは、たとえば package コマンドを使用して、通常どおりにターミナルからMavenを実行してみましょう。 ただし、この場合は、-Dという表記の後にプロパティ名を追加します。
mvn package -DCOMMON_VERSION_CMD=2.5
Mavenは、引数として渡された値(2.5)を使用して、pom.xmlで設定されたCOMMON_VERSION_CMDプロパティを置き換えます。 これはpackageコマンドに限定されません— install 、 test 、またはtestなどのMavenコマンドと一緒に引数を渡すことができますビルド。
5. 結論
この記事では、コマンドラインからMavenにパラメーターを渡す方法について説明しました。 このアプローチを使用することにより、 pom.xml または静的構成を変更する代わりに、プロパティを動的に提供できます。