Как выполнить плагин Maven непосредственно из командной строки? - PullRequest
81 голосов
/ 02 июля 2010

У меня есть плагин (antrun) с настроенным исполнением, которое имеет идентификатор и не связано ни с одной фазой.Могу ли я выполнить это выполнение прямо из командной строки?

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>my-execution</id>
      ...
    </execution>
  </executions>
</plugin>

Запустите его с чем-то вроде:

mvn my-execution

или хотя бы

mvn magicplugin:execute -DexecutionId=my-execution

Ответы [ 3 ]

113 голосов
/ 21 февраля 2015

Эта функция была реализована как MNG-5768 и доступна в Maven 3.3.1.

Изменение будет:

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

Итак, в вашем случае:

mvn antrun:run

использует default-cli идентификатор выполнения, а:

mvn antrun:run@my-execution

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

33 голосов
/ 17 марта 2016

Самый прямой способ запустить плагин maven - указать цель плагина непосредственно в командной строке.

mvn groupId:artifactId:version:goal

Более подробная информация по адресу: Руководство по разработке плагинов Maven

14 голосов
/ 03 июля 2010

То, что вы ищете, записано в По умолчанию + Плагин + Выполнение + ID , но, насколько мне известно, в настоящее время не поддерживается. Однако, согласно комментариям MNG-3401 (читай их до конца):

для mojos, вызываемых непосредственно из командная строка, вы можете поставить Конфигурация из POM с использованием ID исполнения: 'default-cli' как это:

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <executions>
    <execution>
      <id>default-cli</id>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
          <descriptorRef>project</descriptorRef>
        </descriptorRefs>
      </configuration>
    </execution>
  </executions>
</plugin>

Это должно работать в Maven 2.2.0 и 3.x.

Может быть, вам этого будет достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...