2010-10-12 5 views
0

J'ai un petit malentendu avec un problème. J'utilise Maven 2.0.9 Actuellement, mon projet se compose de plusieurs modules internes:Maven dependence

  1. module1 (pot)
  2. module2 (guerre)
  3. module3 (oreille)

donc je dois copier dans le fichier war dans le dossier spécifique module1 jar. Donc ce que je fais maintenant: je l'ai inclus via maven-dependency-plugin dans l'étape du paquet (objectif de copie). Mais si je n'ai pas installé module1 (installation de mvn) je ne peux pas construire un projet. Lorsque maven-dependency-plugin recherche une dépendance pour module1 (jar), il recherche dans le référentiel local mais il ne parvient pas à le trouver car l'installation n'est pas effectuée.

Comment puis-je copier des dépendances qui ne sont pas encore dans le référentiel local mais dans le projet. Bien sûr je peux le faire avec l'aide du plugin antmaven mais c'est une mauvaise idée je suppose.

Répondre

2

Vous devez utiliser l'objectif de dépendances de copie et vous pouvez y exclure les dépendances inutiles. Contrairement à l'objectif de copie, il prend jar d'un autre module construit dans la même construction de réacteur sans aller dans le référentiel Maven local ou distant.

+0

ok, mais que se passe-t-il si ces dépendances ne sont toujours pas référentiel local ou référentiel distant. Imaging, si je fais la première construction du projet via le package mvn. module1 n'est pas dans le référentiel, mais déjà dans son dossier cible. – user253202

+0

Je ne vous aurais pas donné cette suggestion si cela n'a pas fonctionné :) –

0

vous devez définir l'empaquetage de votre projet sur war, puis toutes les dépendances sont automatiquement copiées dans WEB-INF/lib. N'oubliez pas d'ajouter votre projet module1 en tant que dépendance au projet de guerre.

éditer: utilisez-vous un parent pom? cela éliminerait votre problème: lire http://maven.apache.org/guides/mini/guide-multiple-modules.html