开发者

Maven maven-exec-plugin multiple execution configurations

Is it possible to invoke a maven-exec-plugin (or any other plugin's) execution by its id from the command line?

Let's say my pom.xml file looks like this:

<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>

Now is it possible to call

mvn exec:exec

with some added magic to run execution "foo"?

For the curious there is an alternative solution using profiles availabl开发者_Python百科e here: http://www.mail-archive.com/user@mojo.codehaus.org/msg00151.html


It is now possible, starting from Maven 3.3.1: see improvement MNG-5768 and Maven 3.3.1 release notes

You can call a specific execution configuration with this syntax:

mvn exec:exec@foo


No, it's not possible. Executions are for binding to the lifecycle (i.e. they are not designed to be invoked on the command line). So you'll have to use the profile trick described in the link that you provided.


Not mentioned here is that, as of Maven 2.2.0, if you give an execution of any plugin the id "default-cli", then when you run that plugin from the command line, that configuration is used. You're limited to only one default execution of each plugin, but it's a start.


I think if you write execute the goal:

org.codehaus.mojo:exec-maven-plugin:¿Version?:exec

it worked for me in eclipse maven plugin.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜