Как выполнить плагин 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
3 ответа
Эта функциональность была реализована как MNG-5768 и доступна в Maven 3.3.1.
Изменение будет:
расширить синтаксис прямого вызова плагина, чтобы разрешить необязательный параметр @execute-id, например org.apache.maven.plugins:maven-remote-resources-plugin:1.0:process@executeId.
Итак, в вашем случае:
mvn antrun:run
использует default-cli
идентификатор выполнения и:
mvn antrun:run@my-execution
использует исполнение, сконфигурированное в вашем pom.
Самый прямой способ запуска вашего плагина maven - указать цель плагина непосредственно в командной строке.
mvn groupId:artifactId:version:goal
Более подробная информация на: Руководство по разработке плагинов Maven
То, что вы ищете, записано в Default + Plugin + Execution + ID, но, насколько мне известно, в настоящее время не поддерживается. Однако, согласно комментариям 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.x.
Может быть, этого будет достаточно для вас.