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.
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.
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>