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 это сработало.

Другие вопросы по тегам