J'ai un POM parent dans un projet Maven, avec cette structure:
parent
|
---------------
| |
child1 child2
Je veux installer le POM du "parent" dans le REPO local pour permettre à child1 prend quelques modifications que j'ai faites dans le dependencyManagement, mais je ne peux pas faire une "installation propre" régulière car "child2" est cassé et ne construira pas.
Quelle est la bonne façon de faire cela avec maven (autre que d'aller au pom parent et de commenter le module "child2" ).
Utilisez l'option '-N' dans la commande mvn.
De mvn -h
:
-N, - non-récursif Ne pas rentrer dans les sous-projets
Bien que Guillaume ait effectivement raison et que ce soit la bonne option, je recommanderais personnellement de garder votre parent en tant que module séparé.
Je trouve que la meilleure approche pour l'héritage est la suivante:
aggregator
|- module1/ (extends parent)
| |- pom.xml
|- module2/ (extends parent)
| |- pom.xml
|- parent/
| |- pom.xml
|- pom.xml
De cette façon, vous pouvez toujours installer le parent uniquement, avec mvn clean install
sans options supplémentaires.
Vous pouvez également avoir le parent en dehors de l'agrégateur afin de pouvoir le réutiliser entre plusieurs projets.
Garder le parent et l'agrégateur comme deux choses distinctes présente de nombreux avantages. Mais au final, vous choisissez ce qui convient le mieux à votre projet/environnement.