Je suis à essayer de comprendre comment organiser de nombreux (autour de 50+) maven2 projets, afin qu'ils puissent déployer dans une centrale nexus référentiel. Lors de l'utilisation de l' mvn deploy
de l'objectif, on n'a pas besoin de spécifier la cible dans la distributionManagement balise comme ceci:
<distributionManagement>
<repository>
<id>nexus-site</id>
<url>http://central_nexus/server</url>
</repository>
</distributionManagement>
Maintenant, je ne veux pas tout seul pom.xml (de ces 50+) pour contenir ce bloc, encore et encore. Mon premier serait l' settings.xml
le fichier, mais il semble qu'il n'est pas possible (par conception) de la définir.
Donc, la première question serait, pourquoi est-ce le cas ? Si il serait possible que j'ai pu l'indiquer dans la settings.xml dans le maven2 de distribution, ce qui pourrait être distribué à tous les développeurs.
La seule solution que j'ai trouvé a été de créer une organisation à l'échelle de maître-pom du projet, qui ne contiennent pas ces paramètres, et de prendre toutes les autres pom.xml dépendent de ce maître-pom via <parent>
balise. Mais cela semble un peu étrange en multi-module s'appuie:
- 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, j'ai lu dans tous les documents que le module pdm devrait utiliser le pom parent, pas un autre. Mais après la lecture de l'maven site web à propos de l'Héritage v. Agrégation, il est écrit qu'il est effectivement possible.
Un problème que j'ai trouvé était avec le maven site de génération, qui ne semblent avoir des problèmes avec cette configuration (modules ne sont pas raccordés correctement si elles n'ont pas directement référence arrière)
Alors, est-ce une approche valable ? Tout autre, la plus évidente, la plus simple solution de ce problème ?