I
am working on multi module maven project and If I define any plugin
in the parent pom.xml file, It get executed for all the child build
as well.
In
simple language, I wanted to use one plugin in parent pom.xml file
which read properties file from the base directory but whenever I
executes it, all the sub pom.xml tries to read the properties file
from their base directory and its ends up in maven failed.
To
resolve the above issue, We just need to add "inherit'
attributes in the plugin.
Example
:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<inherited>false</inherited>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${basedir}/rpm.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<inherited>false</inherited>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${basedir}/rpm.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
Now
the plugin will get executed from the parent pom.xml file.
Thank you :)