Ściśle mówiąc profile nie są dziedziczone w ten sposób, że profile zdefiniowane w macierzystej pompce nie są dostępne w zabawkach dla dzieci, zgodnie z dokumentacją. JEDNAK, właściwości i wbudowane wtyczki (nie pluginManagement), które są określone w rodzicach poms, mogą zostać aktywowane, a zatem zmodyfikować środowisko kompilacji dla potomnych poms. Na przykład jeśli mam rodzic pom A, która ma następującą sekcję anonse:
</profiles>
<profile>
<id>integrationTest</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<parallel>none</parallel>
<excludes>
<exclude>**/*Test.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<includes
<include>**/*IT.java</include>
</includes>
<!-- need to exclude nothing as it is possible that some by default some tests are excluded and we need to override that -->
<excludes>
<exclude>none</exclude>
</excludes>
<parallel>none</parallel>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
a potem pom dziecko B, która nie posiada wtyczki failsafe skonfigurowany w domyślnej kompilacji ale dziedziczy Pom za pośrednictwem nadrzędny tag, a następnie uruchomię "mvn clean install -P integrationTest" z katalogu pom dziecko, zajmie informacje wtyczki określone w A.