Mon projet est composé de 5 sous-projets. L'un est une guerre, et les 4 autres sont des pots. Fondamentalement, le projet de guerre a besoin de tous les 4 projets de jar et de leurs dépendances. Je peux supprimer les dépendances pour avoir quelque chose comme war-> A-> B-> C-> D. Chaque sous-projet ajoute sa part de dépendances externes (spring, struts, hibernate) pour qu'à la fin la guerre obtienne tout ce qu'il faut pour fonctionner.Comment gérer les dépendances de sous-projets dans Maven
Cela semble assez bien organisé et carré, mais alors je me demande si c'est très pratique pour faire des changements. Imaginez que je doive changer une ligne de code dans le projet D, sans rien changer à ses dépendances Maven. Je devrais rééditer le projet D évidemment, mais ensuite je dois relancer les projets C, B, A et la guerre juste pour refléter ce changement dans leurs fichiers pom. Cela peut être long et gênant, surtout si vous devez rapidement sortir une nouvelle version pour réparer quelque chose en production.
Je pourrais faire en sorte que la guerre dépende de tous les 4 projets, alors je dois juste changer le numéro de version du projet D dans le fichier war pom. Mais j'ai alors le projet A qui dépend indirectement du projet D 1.0 et du projet de spécification de guerre D 1.1. Je pense que la dépendance directe de la guerre l'emporterait dans ce cas, n'est-ce pas? Cela rendrait la nouvelle version de la guerre plus rapide, mais elle gâcherait également mes dépendances de sous-projets, car elles seraient obsolètes.
Quelle serait une façon acceptable de gérer cette situation?
Salut Gweebz. Merci pour la réponse détaillée. Je n'ai pas besoin d'avoir chaque sous-projet publié individuellement, donc je vais donner un bon aperçu de ce concept d'agrégateur que je ne connaissais pas. Les modules contiennent tous les codes de gestion et de données et sont susceptibles de changer régulièrement. Une autre solution serait d'exclure les dépendances transitives comme vous l'avez dit, je n'y ai pas pensé. Merci pour la lumière à ce sujet. – IceGras
Sans obligation de libérer chaque module indépendamment, je suggère fortement d'utiliser la solution Aggregator. C'est le modèle qui convient parfaitement à votre scénario. Heureux d'avoir pu aider :) –