Que représente la balise parent dans Maven pom?

E. G.:

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

cela signifie-t-il que Maven va chercher parent pom? Si oui, où, dans quel ordre? Peut être dans le niveau de dossier jusqu'à 1? Ou dans un dépôt local ou dans un repo?

Merci.

35
demandé sur Bucket 2011-11-06 14:28:37

2 réponses

Oui, maven lit le POM parent de votre dépôt local (ou des mandataires comme nexus) et crée une 'POM effective' en fusionnant les informations de la POM parent et du module.

Voir aussi Introduction à la POM

une raison d'utiliser un parent est que vous avez un endroit central pour stocker des informations sur les versions des artefacts, le compilateur. qui doit être utilisé dans tous les modules.

32
répondu stacker 2011-11-06 10:50:51

les dépendances communes, propriétés, constantes etc. peuvent être définies dans le projet central parent pom.xml

la chose principale importante est que le projet parent ne peut pas être distribué et il ressemble plus à la pom normale.xml à l'exception de conditionnement la balise

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

l'enfant peut maintenant hériter de ceci en utilisant

   <parent>
        <groupId>com.company.demo</groupId>
        <artifactId>MavenInheritance</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
2
répondu Vino 2017-10-06 07:43:55