Estoy intentando hacer un maven parent pom setup donde no tenga que declarar ninguna información de complemento en mi pom hijo, todo está tomado del pom padre.Maven - Parent Pom - Child Herencia
Básicamente lo tengo trabajando donde he puesto todos mis complementos con sus configuraciones en el pom padre. Luego, en los poms de niños, tengo que declarar el complemento aún, pero sin la información de versión y configuración.
No quiero tener que declarar el complemento en el niño en absoluto. De esta forma puedo agregar nuevas funciones (como pmd, freebugs, etc.) a mi pom padre y todos mis proyectos ahora las tienen funcionando. ¿Cómo puedo lograr esto?
Padres Pom
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.0</version>
<inherited>true</inherited>
<configuration>
<providerImplementations>
<cvs>cvs_native</cvs>
</providerImplementations>
<systemProperties>
<property>
<name>maven.scm.perforce.clientspec.name</name>
<value>${perforceClientSpec}</value>
</property>
</systemProperties>
</configuration>
</plugin>
Pom niño todavía necesita esto, pero yo no quiero tener que hacer esto si puedo evitarlo:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
</plugin>
perfecto. Gracias a todos. – Bellini
@Nishant explica además por qué funciona esto. Los plugins declarados fuera de '' son heredados por los POM secundarios, por defecto. Sus configuraciones pueden ser anuladas por cada niño si así lo desea. Los complementos declarados dentro de '' configuran configuraciones globales para todas las POM secundarias que están explícitamente configuradas para consumir esos complementos (como en el ejemplo original). Su configuración también puede ser anulada dentro de los POM secundarios. –
hotshot309