Как выполнить запуск плагина maven непосредственно из командной строки?

У меня есть плагин (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

Ответ 1

Эта функциональность была реализована как 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:[email protected]

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

Ответ 2

То, что вы ищете, зафиксировано в Default+Plugin+Execution+IDs, но, насколько мне известно, в настоящее время не поддерживается. Однако, согласно комментариям MNG-3401 (читайте их до конца):

для mojos, вызываемых непосредственно из командной строки, вы можете предоставить конфигурации из POM с использованием executeId: '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.х.

Возможно, этого будет достаточно для вас.

Ответ 3

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

mvn groupId:artifactId:version:goal

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