2010-11-18 5 views
0

mon projet Maven est stuctured comme:Maven résolution des dépendances dans un projet avec des modules

project 
    moduleA 
    moduleB 
    moduleC

Le moduleB et Modulec sont dependend sur Modulea. si j'exécute la commande 'mvn install' maven installe moduleA et moduleB dans mon dépôt local après que maven essaie d'installer le modeleC mais sans succès, il essaie d'abord de trouver l'artefact moduleA dans tous les dépôts distants maven connus et après ça, Je reçois un message indiquant que l'artefact moduleA est manquant. C'est tellement usé parce que parfois ça marche bien et parfois non. À cause de ce problème, j'ai perdu beaucoup de temps.

Le module d'artefactsA et le moduleB sont dans mon référentiel local. J'utilise maven 2.2.1 sur une machine 64 bits sous windows 7 pro.

Est-ce que quelqu'un sait quel est le problème?

Merci,

Kevin

Répondre

0

Si vous utilisez mvn install, cette commande va mettre l'artefact dans votre dépôt local. Généralement dans votre répertoire personnel sous .m2/repository sauf si vous avez spécifié différemment. Si moduleC essaye de construire (avec mvn install) et dépend de moduleA, moduleA devrait tirer de votre dépôt local quand moduleC. Si moduleC recherche à distance moduleA, moduleA n'a jamais été installé dans votre référentiel local.

Vérifiez le fichier pom pour le moduleC. Assurez-vous que les informations de dépendance contenues dans pom.xml de moduleC pour moduleA correspondent à groupId, artifactId et à la version spécifiée dans le fichier pom.xml de moduleA. Si cela correspond, assurez-vous que moduleA produit vraiment un artefact. Il devrait être dans le répertoire cible sous moduleA. Si moduleA n'est pas un jar, assurez-vous que l'attribut type est listé dans le fichier pom.xml pour le module A et que le fichier pom.xml du moduleC a ce type listé pour la dépendance.

Si ce qui précède n'aboutit pas à une résolution cohérente, vous voudrez peut-être modifier votre question en ajoutant quelques-uns des détails de pom.xml.

Questions connexes