2017-08-18 5 views
0

J'ai plusieurs modules:Meilleure approche à utiliser dans un projet Maven multi-module?

A 
B 
C 

et chaque module dispose d'un module de base comme l'un de ses dépendances:

A+core 
B+core 
C+core 

Et maintenant, je suis censé emballer A, B , C ensemble dans D mais j'ai réussi à excluez les modules de base de B et C et j'ai gardé le module de base en A.

D 
|+ A-core 
|+ B-removed core 
|+ C-removed core 

Quelle est la meilleure chose à faire dans cette situation? Est-ce une mauvaise pratique?

+0

Le 'core' pour chaque module A, B et C est-il le même module' core'? – khmarbaise

+0

oui c'est, devrait tout doit être changé – Priyamal

Répondre

3

Vous pouvez avoir plus d'une dépendance qui tire la dépendance core dans Dpom.xml
Ainsi, l'exclusion n'est pas nécessaire.
L'important est ici que A, B et C dépend exactement de la même version de la dépendance core sinon l'emballage D pourrait inclure une version de core plutôt que l'autre.
Il peut compiler sans erreur, mais générer des exceptions à l'exécution si l'utilisation de ces deux versions ne sont pas compatibles entre eux.

donc se concentrer sur l'utilisation d'une version unique de core dans A, B, C.
L'utilisation d'un pom parent ou la création d'une dépendance regroupant des dépendances communes sont des outils facilitant cela.

+0

Vous êtes les bienvenus. C'est possible. Mais généralement, on associe le pom parent à tous les modules d'une même application pour hériter/appliquer les dépendances/configuration Java/plugin, etc ... de l'ensemble de l'application. Il rend l'application plus cohérente, concise et moins sujette aux erreurs. – davidxxx

2

mise en page du projet:

root 
    +--- pom.xml 
    +--- core 
    !  +-- pom.xml 
    +--- A 
    ! +-- pom.xml 
    +--- B 
    ! +-- pom.xml 
    +--- C 
     +-- pom.xml 

En utilisant core comme une dépendance dans d'autres modules. L'ordre de construction est géré par Maven.