RustyX RustyX - 3 months ago 46
Java Question

Override Maven plugin configuration defined in the pom pluginManagement from the command line

The POM that my project inherits contains some

<pluginManagement>
for the
release
plugin that specifies some additional
arguments
.

My question is: Is there a way to override the
arguments
parameter from the command line in this case?

The parent POM has this:

<pluginManagement>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<arguments>-Prelease</arguments>
</configuration>
</plugin>
</pluginManagement>


Due to that the command line argument doesn't work:

mvn release:prepare -Darguments="-Pmock -Prelease"


The
-Darguments="-Pmock -Prelease"
part has no effect. When
arguments
is not already specified, it works.

It is not possible for me to modify the parent POM or not to use it.

Answer

Found the solution. In my POM I add this which overrides the settings in the parent POM and allows to specify additional arguments on command line, e.g. -Darguments=-Pmock

<pluginManagement>
    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
            <arguments>${arguments} -Prelease</arguments>
        </configuration>
    </plugin>
</pluginManagement>