Запустить выполнение одного плагина Maven? - PullRequest
85 голосов
/ 23 сентября 2010

Я думал, что я опытный пользователь Maven, но у меня есть умственный блок, как это сделать!

Я смог использовать плагин Maven sql для удаления, создания и установкисхема в базе данных с помощью выполненных плагинов, которые я определил и привязал к фазе pre-integration-test.

Однако теперь я хотел бы использовать этот же плагин sql для вставки некоторых примеров данных всякий раз, когда я хочу от командылиния - то есть не привязана ни к одной цели жизненного цикла.Существует несколько различных наборов примеров данных, поэтому я хотел бы определить несколько различных исполнений.

Но есть ли способ запустить одно из этих выполнений из командной строки, используя идентификатор выполнения, возможно?

Ответы [ 2 ]

112 голосов
/ 28 февраля 2015

Как отмечено в Как выполнить плагин maven непосредственно из командной строки? , эта функция была реализована как MNG-5768 и доступна вMaven 3.3.1.

Изменение:

расширит синтаксис прямого вызова плагина, чтобы включить необязательный параметр @ execute-id, например, org.apache.maven.plugins: maven-remote-resources-plugin: 1.0: process@executionId.

Так что, пока вы даете своему исполнению идентификатор:

mvn sql:execute@specific-execution-id

использует выполнение, сконфигурированное в вашем pom.

47 голосов
/ 23 сентября 2010

Но есть ли способ запустить одно из этих выполнений из командной строки, используя идентификатор выполнения, возможно?

Нет, невозможно . Однако возможно определить "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, цели, вызванные непосредственно из Командная строка может быть настроена в ПОМ отдельно от другого плагина вызовы с использованием специального executionId называется default-cli. Где ранее все конфигурации для целей командной строки пришлось идти в конфигурация на уровне плагинов, Maven 2.2.0 позволяет разделить специфичные для командной строки конфигурации на свои <execution>. Для большего информацию см. Руководство по умолчанию Идентификаторы исполнения .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...