It doesn't seem to possible to override a plugin execution's goal definition.
Let say I have a parent config of Jetty, that defines a
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
now I want locally for a specific project the goal run-exploded
If I try to override the parent definition in local project with
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
</execution>
then I have the effective pom becomes
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
<goal>run-exploded</goal>
</goals>
</execution>
I'm surprised, as I have always thought it would override.
Is this a new behavior in Maven3 ?
Is there anyway to get an overriding behavior instead of current one?
The way I found is to disable inherited configuration and creating a new one:
<execution>
<id>start-jetty</id>
<phase>none</phase>
</execution>
<execution>
<id>my-start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
</execution>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With