Запустить выполнение одного плагина 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>, Для получения дополнительной информации см. Руководство по идентификаторам выполнения по умолчанию.
Другие вопросы по тегам