Maven Maven-Exec-плагин нескольких конфигураций исполнения
Можно ли вызвать выполнение maven-exec-plugin (или любого другого плагина) по его идентификатору из командной строки?
Допустим, мой файл pom.xml выглядит так:
<project>
[...]
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>foo</id>
<goals>
<goal>exec</goal>
</goals>
<phase></phase>
<configuration>
<executable>echo</executable>
<arguments>
<argument>foo</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>bar</id>
<goals>
<goal>exec</goal>
</goals>
<phase></phase>
<configuration>
<executable>echo</executable>
<arguments>
<argument>bar</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
[...]
</project>
Теперь можно позвонить
mvn exec:exec
с какой-то добавленной магией для запуска исполнения "foo"?
Для любопытных есть альтернативное решение с использованием профилей, доступных здесь: http://www.mail-archive.com/user@mojo.codehaus.org/msg00151.html
4 ответа
Нет, это невозможно. Выполнения предназначены для привязки к жизненному циклу (т.е. они не предназначены для вызова в командной строке). Таким образом, вам придется использовать трюк профиля, описанный в ссылке, которую вы предоставили.
Теперь это возможно, начиная с Maven 3.3.1: см. Заметки об улучшении MNG-5768 и Maven 3.3.1
Вы можете вызвать определенную конфигурацию выполнения с этим синтаксисом:
mvn exec:exec@foo
Здесь не упомянуто, что, начиная с Maven 2.2.0, если вы задаете выполнение любого плагина с идентификатором "default-cli", то когда вы запускаете этот плагин из командной строки, эта конфигурация используется. Вы ограничены только одним выполнением по умолчанию каждого плагина, но это только начало.
Я думаю, если вы напишите выполнить цель:
org.codehaus.mojo:exec-maven-plugin:¿Version?:exec
у меня в плагине Eclipse Maven это сработало.