Запустить одно исполнение плагина Maven?
Я думал, что я опытный пользователь Maven, но у меня есть умственный блок, как это сделать!
Я смог использовать плагин Maven sql для удаления, создания и установки схемы в базе данных с помощью плагинов, которые я определил и привязал к фазе pre-integration-test
.
Однако теперь я хотел бы использовать тот же самый плагин sql для вставки некоторых выборочных данных всякий раз, когда я хочу из командной строки, то есть не привязан к какой-либо цели жизненного цикла. Есть несколько разных наборов данных образца, поэтому я хотел бы определить несколько разных исполнений.
Но есть ли способ запустить одно из этих исполнений из командной строки, используя идентификатор выполнения, возможно?
Ответы
Ответ 1
Как указано в Как выполнить выполнение плагина maven непосредственно из командной строки?, это
функциональность была реализована как MNG-5768 и доступна в Maven 3.3.1.
Изменение будет:
продлить прямой синтаксис вызова плагина, чтобы разрешить необязательный параметр @execute-id, например org.apache.maven.plugins: maven-remote-resources-plugin: 1.0: process @executionId.
Итак, до тех пор, пока вы отдаете свое исполнение id:
mvn sql:[email protected]
использует выполнение, настроенное в вашей папке.
Ответ 2
Но есть ли способ запустить одно из этих исполнений из командной строки, используя идентификатор выполнения, возможно?
Нет, невозможно. Однако возможно определить конфигурацию "a" , которая будет использоваться, когда плагин вызывается из командной строки с помощью "специального" 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>
. Для большего информацию см. в Руководство по умолчанию Идентификаторы выполнения.