149 votes

Maven ne parvient pas à trouver l'artefact local

Occasionnellement, maven se plaint qu'une dépendance particulière, qui est construite et empaquetée localement, ne peut être trouvée dans le dépôt local lors de la construction d'un autre projet qui l'a comme dépendance. Nous obtenons une erreur du type :

Échec de l'exécution de l'objectif sur le projet X : Impossible de résoudre les dépendances pour le projet X : Impossible de trouver Y dans [référentiel archiva] a été mis en cache dans le référentiel local, la résolution ne sera pas réessayée avant que l'intervalle de mise à jour interne ne se soit écoulé ou que les mises à jour soient forcées ->.

Où X est le projet en cours de construction, et Y est l'artefact supposé manquant. Si vous regardez dans le référentiel local, l'artefact est là. Cet artefact n'est jamais installé dans notre référentiel archiva, donc le problème est purement basé dans le référentiel local.

Nous avons essayé différents profils dans settings.xml, et bien sûr "mvn -U". Ni l'un ni l'autre ne sont utiles, et ils ne devraient pas l'être puisque cet artefact ne va jamais plus loin que le dépôt local.

Les deux seules choses qui semblent fonctionner sont d'attendre un temps très long jusqu'à ce que maven devienne intelligent, ou de supprimer complètement le dépôt local. L'option d'attente est probablement liée à l'intervalle de mise à jour susmentionné.

Nous avons rencontré ce problème avec maven 3.0.2 et 3.0.3. Nous utilisons Archiva 1.0.3 (mais là encore, cela ne devrait pas être un facteur). Toute aide serait grandement appréciée.

9voto

Jaroslav Záruba Points 1059

Si vous avez <repositories/> défini dans votre pom.xml apparemment votre dépôt local est ignoré.

3voto

Sannidhi Points 3128

Attrapez tout. Si les solutions mentionnées ici ne fonctionnent pas (c'est ce qui s'est passé dans mon cas), il suffit de supprimer tout le contenu du dossier/répertoire '.m2', et de procéder comme suit mvn clean install .

2voto

Neha Tawar Points 490

Même moi, j'ai été confronté à ce problème et je l'ai résolu de deux façons :

1) Dans votre IDE, sélectionnez le projet et nettoyez tous les projets puis installez toutes les dépendances maven en faisant un clic droit sur le projet -> allez dans maven et mettez à jour les dépendances du projet ; sélectionnez tous les projets en même temps pour les installer. Une fois que cela est fait, exécutez le projet particulier

2) Sinon, ce que vous pouvez faire, c'est vérifier dans le pom.xml les dépendances pour lesquelles vous obtenez l'erreur et "mvn clean install" ceux dépendant projet premier et l'installation des dépendances maven du projet actuel dans lequel vous faites face au problème. Ainsi, les dépendances du projet local seront construites et les jars seront créés.

0voto

yuxh Points 313

J'ai rencontré le même problème lorsque mon nouveau projet dépend d'oracle jdbc jar (que j'ai installé dans mon dépôt local et qui fonctionne bien pour d'autres projets). J'ai essayé l'option -U, en supprimant le fichier .lastupdate ou le répertoire entier et en le téléchargeant à nouveau, mais cela n'a pas fonctionné. Finalement, j'ai supprimé le répertoire et je l'ai installé à nouveau localement, cela fonctionne.

0voto

Ashik Uzzaman Points 1

L'une des erreurs que j'ai trouvées dans Maven est que je place mon fichier settings.xml dans le mauvais répertoire. Il doit se trouver dans le dossier .m2 sous le répertoire personnel de votre utilisateur. Vérifiez qu'il se trouve au bon endroit (ainsi que settings-security.xml si vous l'utilisez).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X