Вопрос

Я думал, что был опытным пользователем 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>. Отказ Для получения дополнительной информации см. Руководство по умолчанию Идентификаторы выполнения.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top