Ответ 1
Нет, это невозможно. Исполнения предназначены для привязки к жизненному циклу (т.е. Они не предназначены для вызова в командной строке). Таким образом, вам придется использовать трюк профиля, описанный в ссылке, которую вы предоставили.
Можно ли вызывать выполнение maven-exec-плагина (или любого другого плагина) своим идентификатором из командной строки?
Скажем, файл 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/[email protected]/msg00151.html
Нет, это невозможно. Исполнения предназначены для привязки к жизненному циклу (т.е. Они не предназначены для вызова в командной строке). Таким образом, вам придется использовать трюк профиля, описанный в ссылке, которую вы предоставили.
Теперь возможно, начиная с Maven 3.3.1: см. улучшение MNG-5768 и выпуск Maven 3.3.1 примечания
Вы можете вызвать конкретную конфигурацию выполнения с помощью этого синтаксиса:
mvn exec:[email protected]
Не упоминается здесь, что с Maven 2.2.0, если вы даете выполнение любого плагина id "default-cli" , то, когда вы запускаете этот плагин из командной строки, эта конфигурация используется. Вы ограничены только одним исполнением по умолчанию каждого плагина, но это начало.
Я думаю, если вы напишете выполнение цели:
org.codehaus.mojo:exec-maven-plugin:¿Version?:exec
он работал у меня в плагине eclipse maven.