2013-02-17 3 views
4

J'ai un projet dans lequel il y a peu de composants comme A, B et C. Tous les composants exposent des interfaces de repos que d'autres composants consomment. Donc, j'utilise ant au produit A.war, A-services.jar, B.war, B-services.jar, C.war, C-services.jar.Emballage multiple dans Maven

A-services.jar contiennent les déclarations d'interface pour B et C. B-services.jar contiennent les déclarations d'interface pour A et C. C-services.jar contiennent les déclarations d'interface pour A et B.

Je souhaite le migrer vers Maven. Mais j'ai lu à certains endroits, ce n'est pas une bonne idée d'avoir un seul pom produire plusieurs paquets comme A-services.jar et A.war. Quel devrait être le meilleur moyen d'y parvenir?

Répondre

4

Je suppose que la raison pour laquelle vous avez A-services est due à des modèles de données partagés et autres. Cela étant le cas, vous finissez avec plusieurs projets. Un POM pour les services A Puis un autre projet A WAR qui dépend de A-services. Et votre projet B a aussi une dépendance sur les services A. Cela dit, il semble que vous ayez juste besoin de séparer vos projets en projets de modèles de données et projets d'implémentation.

Vous aurez six projets. N'essayez pas de faire en sorte que Maven produise un WAR et un JAR à partir du même projet.

+1

Merci beaucoup. J'ai été confondu avec la structure de projet appropriée, séparer la mise en œuvre et les interfaces/dépendances dans des projets distincts semble être une structure d'emballage agréable. –

2

Vous peut trouver le maven-assembly-plugin pour être utile pour vous, mais comme Andrew a déclaré, vous avez vraiment besoin de séparer votre projet en modules appropriés. C'est ce que Maven est vraiment pour.

Questions connexes