Запустить выполнение одного плагина Maven?
Я думал, что я опытный пользователь Maven, но у меня есть умственный блок, как это сделать!
Я смог использовать плагин Maven sql для удаления, создания и установки схемы в базе данных с помощью выполнений плагинов, которые я определил и привязал к pre-integration-test
фаза.
Тем не менее, теперь я хотел бы использовать этот же плагин sql для вставки некоторых примеров данных всякий раз, когда я хочу из командной строки - то есть, не привязаны к какой-либо цели жизненного цикла. Существует несколько разных наборов примеров данных, поэтому я бы хотел определить несколько разных исполнений.
Но есть ли способ запустить одно из этих выполнений из командной строки, используя идентификатор выполнения, возможно?
2 ответа
Как отмечено в разделе Как выполнить плагин maven непосредственно из командной строки? эта функциональность была реализована как MNG-5768 и доступна в Maven 3.3.1.
Изменение будет:
расширить синтаксис прямого вызова плагина, чтобы разрешить необязательный параметр @execute-id, например org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process@executeId.
Итак, пока вы даете своему исполнению идентификатор:
mvn sql:execute@specific-execution-id
использует исполнение, сконфигурированное в вашем pom.
Но есть ли способ запустить одно из этих выполнений из командной строки, используя идентификатор выполнения, возможно?
Нет не возможно Однако возможно определить конфигурацию "a", которая будет использоваться, когда плагин вызывается из командной строки, используя "special" default-cli
идентификатор выполнения:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.4</version>
...
<executions>
<execution>
<id>default-cli</id>
<configuration>
...
</configuration>
</execution>
...
</executions>
</plugin>
И просто позвони mvn sql:execute
,
Подробности см. Ниже (в примечаниях к выпуску Maven 2.2.0):
- MNG-3401 - Начиная с Maven 2.2.0, цели, вызываемые непосредственно из командной строки, можно настраивать в POM отдельно от других вызовов плагинов с помощью специального
executionId
называетсяdefault-cli
, Там, где ранее все конфигурации для целей командной строки должны были идти в конфигурации на уровне подключаемого модуля, Maven 2.2.0 позволяет разделять специфичные для командной строки конфигурации на свои собственные.<execution>
, Для получения дополнительной информации см. Руководство по идентификаторам выполнения по умолчанию.