J'essaie de comprendre comment organiser de nombreux projets (environ 50+) maven2, afin qu'ils puissent être déployés dans un référentiel central Nexus. Lorsque vous utilisez l'objectif mvn deploy
, on n'a pas besoin de spécifier la cible dans la balise distributionManagement comme ceci:Comment spécifier l'organisation distributionManagement de maven?
<distributionManagement>
<repository>
<id>nexus-site</id>
<url>http://central_nexus/server</url>
</repository>
</distributionManagement>
Maintenant, je ne veux pas tout seul pom.xml (ceux 50+) pour contenir ce bloc sur et encore. Mon premier mais serait le fichier settings.xml
, mais il semble qu'il n'est pas possible (par conception) de le définir là. Donc, la première question serait, pourquoi est-ce le cas? Si cela était possible, je pourrais le spécifier dans le fichier settings.xml de la distribution maven2, qui pourrait être distribué à tous les développeurs. La seule solution possible que j'ai trouvé était de créer un projet master-pom à l'échelle de l'organisation, qui contient ces paramètres, et de faire dépendre tout autre pom.xml de ce maître-pom via la balise <parent>
. Mais cela semble un peu étrange dans plusieurs modules construit:
- master configuration POM (pm)
- Project 1 parent pom (p1 with module 1 and module 2 as modules)
- Project 1 module pom (with pm as parent)
- Project 2 module pom (with pm as parent)
Habituellement je lis dans tous les documents que le module poms doivent utiliser la pom-mère, pas un différent. Mais après avoir lu le site Web de Maven sur l'héritage v. Agrégation il est écrit que c'est effectivement possible.
Un problème que j'ai trouvé avec la génération de site Maven, qui ne semble avoir des problèmes avec cette configuration (modules ne sont pas liés correctement s'ils ont pas de back-référence directe)
Alors, est-ce valide approche? Toute autre solution, plus évidente, plus simple au problème?
http://maven.apache.org/pom.html#Distribution_Management – OhadR
@OhadR: Ils écrivent seulement comment l'écrire dans un projet. Le point est que je ne voulais pas le reproduire environ 500 fois ... – mglauche
je vois. point pris. alors que celui qui a répondu a dit, vous pouvez avoir un pom principal pour le projet, qui contiendra le 'distribMngmnt' ... – OhadR