J'ai importé mon projet de travail sur un autre ordinateur afin qu'il commence à télécharger des dépendances.
Apparemment, ma connexion Internet s'est effondrée entre-temps. Maintenant je reçois:
Construire des erreurs pour les bandes dessinées; org.Apache.maven.lifecycle.LifecycleExecutionException: Echec de l'exécution de l'objectif sur le projet comicsTest: Impossible de résoudre les dépendances du projet comicsTest: comicsTest: war: 0.0.1-SNAPSHOT: Les artefacts suivants n'ont pas pu être résolus: org.springframework: spring- contexte: jar: 3.0.5.RELEASE, org.hibernate: hibernate-entitymanager: jar: 3.6.0.Final, org.hibernate: hibernate-core: jar: 3.6.0.Final, org.hibernate: hibernate-commons- annotations: jar: 3.2.0.Final, org.aspectj: aspectjweaver: jar: 1.6.8, commons-lang: communes-lang: jar: 2.5,
mysql: mysql-connector-Java: jar: 5.1.13: Echec du transfert de org.springframework: spring-context: jar: 3.0.5.RELEASE à partir de http://repo1.maven.org/maven2 = a été mis en cache dans le référentiel local, la résolution ne sera pas tentée tant que l'intervalle de mise à jour de la mémoire centrale ne sera pas écoulé ou que les mises à jour ne seront forcées.
Erreur d'origine: Impossible de transférer l'artefact org.springframework: spring-context: jar: 3.0.5.RELEASE à partir du fichier central ( http://repo1.maven.org/maven2 ): aucune réponse reçue après 60000.
Et je ne sais pas comment forcer Maven à se mettre à jour?
mvn clean install -U
-U
signifie la mise à jour forcée des dépendances instantané. Les dépendances de publication ne peuvent pas être mises à jour de cette façon.
-U
semble forcer la mise à jour de toutes les dépendances.
Si vous souhaitez mettre à jour une dépendance unique sans nettoyer ni -U
, vous pouvez simplement la supprimer de votre référentiel local, puis la construire.
L'exemple ci-dessous concerne la mise à jour de slf4j-api 1.7.1-SNAPSHOT
:
rm -rf ~/.m2/repository/org/slf4j/slf4j-api/1.7.1-SNAPSHOT
mvn compile
Si votre référentiel local est maquillé pour les fichiers jar de version, par opposition aux instantanés (-U
et --update-snapshots
uniquement mettre à jour des instantanés), vous pouvez purger le référentiel local en procédant comme suit:
mvn dependency:purge-local-repository
Vous voudrez probablement alors nettoyer et installer à nouveau:
mvn dependency:purge-local-repository clean install
Beaucoup plus d'informations disponibles sur https://maven.Apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html
Toutes les réponses ici n'ont pas fonctionné pour moi. J'ai utilisé la méthode du marteau:
find ~/.m2/ -name "*.lastUpdated" | xargs rm
Cela a résolu le problème :-)
Vous pouvez faire efficacement de Eclipse IDE
. Bien sûr si vous l'utilisez.
Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases
Juste au cas où quelqu'un voudrait seulement mettre à jour les dépendances d'instantané du projet et ne veut pas installer d'artefact:
mvn dependency:resolve -U
N'oubliez pas de réimporter les dépendances dans votre IDE. Dans IDEA vous devez cliquer avec le bouton droit sur le fichier pom et choisir Maven -> Réimporter.
Si vous ne savez pas ce qui se trouve dans votre référentiel local, je vous recommande de lancer une construction avec l'option:
-Dmaven.repo.local=localrepo
De cette façon, vous vous assurez de construire dans une salle blanche.
Dans mon cas, j'ai d'abord été:
mvn clean install -U
Il y avait toujours la même erreur, puis j'ai fermé le projet et je l'ai rouvert. Enfin travaillé.
Si vous utilisez Eclipse IDE alors:
Appuyez sur alt + F5, la fenêtre de mise à jour du projet Maven apparaît.
Vérifier - Forcez la mise à jour des instantanés/des versions et cliquez sur OK.
Si vous utilisez Intellij IDE
Vous devez vérifier votre fichier settings.xml dans le répertoire <maven_home>/conf
.
C'est l'une des choses les plus ennuyeuses à propos de Maven. Voici ce qui se passe pour moi: si j'ajoute une dépendance demandant plus de dépendances, mais que ma connexion est lente, il est impossible de s'arrêter pendant le téléchargement et le dépassement du délai imparti. Pendant que le délai d'attente est dépassé, toutes les dépendances non encore récupérées sont marquées avec des espaces réservés dans le cache .m2 et Maven ne le récupérera pas (jamais) à moins que je supprime l'entrée d'espace réservé du cache (comme indiqué par d'autres) en la supprimant.
Donc, autant que je sache, Maven ou plus précisément le plugin Eclipse Maven a un bug à ce sujet. Quelqu'un devrait signaler cela.
J'ai l'erreur dans un autre contexte. Donc, ma solution pourrait être utile aux autres personnes qui cambriolent à la question:
Le problème: j'ai copié le référentiel local sur un autre ordinateur, qui n'a pas de connexion à un référentiel spécial. Maven a donc essayé de vérifier les artefacts par rapport au référentiel non valide.
Ma solution: supprimez les fichiers _maven.repositories.
Pour résoudre ce problème depuis Eclipse:
1) Ajoutez la dépendance ci-dessous dans Maven pom.xml et enregistrez le fichier pom.xml.
<!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream -->
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.3.1</version>
</dependency>
2) Aller au projet >> Maven >> Mise à jour du projet
sélectionnez le projet et cliquez sur OK.
3) Étape facultative, si elle n’est pas résolue jusqu’à l’étape 2, procédez comme suit après avoir effectué l’étape 1.
Aller au projet >> Maven >> Mettre à jour le projet >> cocher la case 'Force Update of Snapshots/Releases'
sélectionnez le projet et cliquez sur OK.
J'ai la même erreur avec la dépendance Android-maps-utils. Utiliser un paquet de type aar dans la section des dépendances résout mon problème. Par défaut, le type est jar, vous pouvez donc vérifier le type de dépendance téléchargé dans le référentiel.
-U est utilisé pour forcer la mise à jour maven Repo. Utilisation
mvn -U clean install
Maven télécharge toutes les dépendances de votre projet dans votre référentiel local (dossier .m2). En raison des problèmes liés à Internet avec votre dépôt local, votre projet est confronté à des problèmes. Je ne sais pas si cela vous aidera sûrement ou non, mais vous pouvez essayer de supprimer tous les fichiers du dossier référentiel situé dans le dossier .m2. Comme il n'y aurait rien dans le référentiel local, maven serait obligé de télécharger à nouveau les dépendances, forçant ainsi une mise à jour. En règle générale, le dossier .m2 se trouve dans c: utilisateurs: [nom d'utilisateur] :. m2
Il est important d’ajouter que la principale différence entre mvn
avec - et sans - est que -U
remplacera vos fichiers JAP SNAPSHOT locaux par pots SNAPSHOT distants.
Fichiers JAP SNAPSHOT locaux créés à partir de mvn install
local si vous avez d’autres modules de votre projet qui génèrent des fichiers JAR.
J'ai essayé toutes les réponses ici mais rien ne semblait fonctionner. J'ai d'abord redémarré mon ordinateur, puis exécuté mvn clean install -U
. Cela a résolu mon problème.