2011-06-02 5 views
1

J'ai un référentiel source pour lequel j'utilise maven. Généralement, je souhaite déployer des projets dans un référentiel interne. J'ai donc ce référentiel dans le POM parent. Cependant, j'ai également besoin de déclarer ce référentiel dans chaque projet POM afin que le projet puisse trouver le POM parent (un chemin relatif vers le POM parent ne fonctionne que si les versions sont les mêmes).plusieurs référentiels de déploiement avec maven

Parfois je veux livrer le code à une autre partie. Il doit se retrouver dans son dépôt Maven. Cependant, tous mes POMs ont une référence à mon dépôt interne, ce qui ne me semble pas correct. Y a-t-il un bon moyen de cacher mon dépôt interne des déploiements que je fais à l'autre partie?

Je pourrais gérer cela avec des profils (un profil interne et un profil étranger pour quel référentiel je veux déployer), cependant, je devrais faire un profil pour CHAQUE projet et pas seulement le POM parent, ce qui est une douleur . Peut-être que c'est la meilleure solution cependant?

Répondre

2

Vous pouvez définir une propriété d'URL de référentiel dans pom parent (par exemple, $ {repository.deploy}). Créez également des profils dans pom parent (comme local et foriegn) qui affecteront une valeur différente à cette propriété.

Dans tous les fichiers pom du projet enfant, utilisez la propriété parent définie pour l'URL du référentiel. De cette façon, l'autre partie peut changer l'URL du référentiel en utilisant un profil différent au niveau parent. Est-ce que cela répond à votre question?

+0

Oui, c'est aussi simple et direct! – schmmd

Questions connexes