Перейти к основному содержимому

Аргументы командной строки как свойства Maven

· 2 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим, как мы можем передавать аргументы в Maven с помощью командной строки.

2. Свойства Мавена

Свойства Maven являются заполнителями значений. Во- первых, нам нужно определить их в теге свойств в нашем файле pom.xml :

<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.version » в нашей зависимости commons-io :

<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

Теперь давайте запустим Maven из нашего терминала, как обычно, например, с помощью команды package . Но в этом случае давайте также добавим обозначение -D , за которым следует имя свойства:

mvn package -DCOMMON_VERSION_CMD=2.5

Maven будет использовать значение (2.5), переданное в качестве аргумента, для замены свойства COMMON_VERSION_CMD , установленного в нашем pom.xml . Это не ограничивается командой packageмы можем передавать аргументы вместе с любой командой Maven , такой как install , test или build .

5. Вывод

В этой статье мы рассмотрели, как передать параметры в Maven из командной строки. Используя этот подход, вместо изменения pom.xml или любой статической конфигурации мы можем динамически предоставлять свойства.