2015-09-16 1 views
0

J'ai 3 projets, A-> B-> C dans cet ordre de dépendance. Actuellement, chaque fois que je fais un changement à B ou C, je dois aller dans le répertoire et faire un mvn clean install afin de l'installer dans le dépôt local. C'est gênant si je dois le faire chaque fois que les projets sont mis à jour.Maven comment automatiser l'installation des dépendances?

Comment puis-je faire de telle sorte que chaque fois que je fais un mvn clean package sur A, il va construire et installer automatiquement mes projets dépendants B et C dans le dépôt local?

+0

Faire une construction multi-module à partir de cela ... car il semble qu'ils appartiennent ensemble ... – khmarbaise

Répondre

2

Créer un projet parent pour tous vos projets A, B, C, puis ajouter tous vos projets d'enfant sur le parent pom.xml fichier quelque chose comme ce

<modules> 
    <module>A</module> 
    <module>B</module> 
    <module>C</module> 
    </modules> 

Son appelé maven projet de module multiples mentionné par @khmarbaise

Voici quelques exemples pour cette

  1. How do I create a multi-module project in Eclipse?
  2. Maven Multi module tutorial
  3. Guide to Working with Multiple Modules

En utilisant projet module multipuces vous obtiendrez beaucoup d'avantages comme

  1. Chaque fois que vous pouvez ajouter un nouveau projet avec l'ensemble du projet en cours
  2. de séparation le projet est bon pour le nettoyage de code
  3. Vous pouvez construire un projet unique ou Vous pouvez construire tout projet en une fois.
  4. La duplication de jar peut être facilement ignorée. Maven prend soin de l'ordre de construction pour vous.
  5. Un seul travail Jenkins pour tout construire.

Beaucoup d'autres avantages. Mais rappelez-vous s'il y aura des avantages et des inconvénients aussi, c'est maintenant tout ce que vous voulez utiliser.

+1

Il convient également de mentionner que pour reconstruire vous devriez faire un 'mvn install' sur le projet parent. – Qwerky

0

Vous pouvez suivre la solution que j'ai fournie à la question Maven 2 Projects, car c'est le modèle que j'utilise habituellement lors de la construction d'un projet avec une certaine complexité. Pour résumer, vous devez créer un projet Maven principal comportant trois sous-modules, par exemple, maître, plate-forme et parent.

Le projet principal a simplement l'ordre dans lequel les autres projets seront évalués par Maven

Le pom maître contient la liste des projets à construire et leur ordre (alias commande de réacteur)

La plate-forme pom contient toutes les informations sur votre plate-forme, comme la version de JDK, les versions de plugin de maven, l'encodage et ainsi de suite.

Le pom parent possède la plate-forme pom en tant que parent et contient toutes les informations GAV globales sur les dépendances que vous allez utiliser dans votre projet (Spring, CXF, junit, log4j, etc.