7
votes

Share dépendances entre plusieurs fichiers POM

Quelle est la méthode de la meilleure pratique de partage de plusieurs dépendances à travers des projets maven.

Je peux penser aux 2 approches possibles suivantes -

  1. Création d'un fichier POM parent et en utilisant ce même fichier POM dans chaque projet qui utilise l'ensemble des dépendances.

  2. Création d'un nouveau projet Maven avec un fichier POM contenant les dépendances. Ensuite, référencez ce projet dans tous les projets nécessitant les dépendances communes.

    Y a-t-il d'autres approches que l'on devrai-je utiliser?


1 commentaires

FWIW - La plupart des exemples que j'ai vu utiliser l'option 1.


5 Réponses :


1
votes

L'option 1 fonctionne bien - je suggérerais ça.


0 commentaires

5
votes

imo cela dépend un peu de votre cas d'utilisation exacte.

L'option 1 est certainement un bon moyen d'aller, mais cela peut devenir plus difficile / complexe de gérer si vous avez déjà un projet parent et surtout si vous avez plusieurs de ces ensembles de dépendance partagés (vous pourriez vous retrouver perdu dans une hiérarchie complexe de plusieurs parents). Un autre inconvénient de l'option 1 est que (AFAIK) Il n'est pas possible d'exclure les dépendances héritées, de sorte que votre projet étend le parent POM, vous n'avez d'autre choix que d'hériter toutes les dépendances.

Dans ce cas, l'option 2 est plus facile à gérer, plus claire et plus flexible. Créez un projet maven de type POM et ajoutez une dépendance à ce cas, le cas échéant. Avec cette solution, il est possible d'exclure certaines dépendances du projet POM qui rend à nouveau cette solution plus flexible.


0 commentaires

1
votes

Jetez un coup d'œil au Guide de l'utilisateur: http: //maven.apache.org/guides/introduction/introduction-to-dependency-Mechanism.html#dependency_management (c'est-à-dire Utilisation dans un parent pom).


0 commentaires

1
votes

Je pense que l'option 2 est meilleure, car il est confinement vs héritage problème.

Et si vous devez partager 2 traits de dépendance parmi vos projets. Avec l'option 1, vous êtes bloqué au niveau d'héritage unique, tandis que l'option 2 vous donne une flexibilité supplémentaire.


0 commentaires

1
votes

Option 2 - Vous devez spécifier la dépendance à l'importation sur votre section de dépendance: xxx

pour plus d'informations: http://maven.apache.org/guides/introduction/introduction-a-dependabilité -Mechanism.html # dépendance_management


0 commentaires