Запустите один исполнение плагинов Maven?
-
04-10-2019 - |
Вопрос
Я думал, что был опытным пользователем Maven, но у меня есть психический блок на том, как это сделать!
Я смог использовать плагин Maven SQL для удаления, создания и установки схемы в базе данных с помощью выполнения плагина, которые я определен и привязан к pre-integration-test
фаза.
Однако теперь я хотел бы использовать этот же плагин SQL для вставки некоторых данных образца всякий раз, когда я хочу из командной строки - то есть не привязан к любой цели жизненного цикла. Есть несколько различных наборов данных образца, поэтому я хотел бы определить несколько разных казней.
Но есть ли способ запустить одно из этих казней из командной строки, используя идентификатор исполнения?
Решение
Как отмечалось Как выполнить выполнение плагина Maven прямо из командной строки?, эта функциональность была реализован так как MNG-5768., и доступен в Maven 3.3.1.
Изменение будет:
Расширяйте синтаксис вызова прямого плагина, чтобы позволить дополнительному параметру @ идентификатор идентификатора @, например, org.apache.maven.plugins: Maven-Remote-ResourceS-Plugin: 1.0: Process @ ExecutionID.
Итак, пока вы даете свое исполнение ID:
mvn sql:execute@specific-execution-id
Использует выполнение, настроенное в вашем POM.
Другие советы
Но есть ли способ запустить одно из этих казней из командной строки, используя идентификатор исполнения?
Нет, невозможно. Отказ Что возможно, чтобы определить "а" Конфигурация, которая будет использоваться, когда плагин вызывается из командной строки, используя «специальный» 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>
. Отказ Для получения дополнительной информации см. Руководство по умолчанию Идентификаторы выполнения.