Pregunta ¿Qué representa la etiqueta padre en Maven pom?


P.ej.:

<parent>
    <groupId>mycompany.trade.com</groupId>
    <artifactId>mycompany.trade.</artifactId>
    <version>1.1.1.0-SNAPSHOT</version>
</parent>

¿Significa que Maven buscará el padre pom? En caso afirmativo, ¿dónde, en qué orden? ¿Puede estar en la carpeta arriba de 1 nivel? ¿O en un repositorio local o en un repositorio?

Gracias.


32
2017-11-06 10:28


origen


Respuestas:


Sí, maven lee el POM padre de su repositorio local (o proxies como nexo) y crea un 'POM efectivo' al combinar la información del POM principal y del módulo.

Ver también Introducción al POM

Una razón para usar un padre es que tiene un lugar central para almacenar información sobre las versiones de artefactos, configuraciones de compilador, etc. que deberían usarse en todos los módulos.


28
2017-11-06 10:50



Las dependencias comunes, propiedades, constantes, etc. se pueden definir en el proyecto padre central pom.xml

Lo más importante es que el proyecto principal no se puede distribuir y se ve más parecido al pom.xml normal, excepto embalaje etiqueta

    <groupId>com.company.demo</groupId>
    <artifactId>MavenInheritance</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

El niño ahora puede heredar esto usando

   <parent>
        <groupId>com.company.demo</groupId>
        <artifactId>MavenInheritance</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

1
2017-10-06 07:43