Search code examples
maven-2maven

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 available here: http://www.mail-archive.com/[email protected]/msg00151.html


Solution

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