Quelle est la méthode de la meilleure pratique de partage de plusieurs dépendances à travers des projets maven. P>
Je peux penser aux 2 approches possibles suivantes - P>
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. P> li>
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. P> li> ol>
Y a-t-il d'autres approches que l'on devrai-je utiliser? P>
5 Réponses :
L'option 1 fonctionne bien - je suggérerais ça. P>
imo cela dépend un peu de votre cas d'utilisation exacte. p>
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. P>
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. P>
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
Je pense que l'option 2 est meilleure, car il est 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. P> confinement code> vs
héritage code> problème. P>
Option 2 - Vous devez spécifier la dépendance à l'importation sur votre section de dépendance: p> pour plus d'informations: http://maven.apache.org/guides/introduction/introduction-a-dependabilité -Mechanism.html # dépendance_management p> p>
FWIW - La plupart des exemples que j'ai vu utiliser l'option 1.