Force maven mise à jour
J'ai importé mon projet de travail sur d'autres ordinateur, donc il a commencé à télécharger les dépendances.
Apparemment, dans l'intervalle, ma connexion internet s'est écrasé. Maintenant, je reçois:
Les erreurs de Build pour les bandes dessinées; org.apache.maven.cycle de vie.LifecycleExecutionException:
Échec de l'exécution de l'objectif du projet comicsTest: impossible de résoudre les dépendances de projet comicsTest:comicsTest:la guerre:0.0.1-capture d'écran:
Les objets suivants ne pouvait pas être résolu:
org.springframework:printemps-contexte:jar:3.0.5.LIBÉRATION,
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:commons-lang:jar:2.5,mysql:mysql-connector-java:jar:5.1.13: défaut de transfert de org.springframework:printemps-contexte:jar:3.0.5.La LIBÉRATION de http://repo1.maven.org/maven2 a été mis en cache dans le référentiel local, la résolution ne sera pas reattempted jusqu'à ce que l'intervalle de mise à jour de la centrale s'est écoulé ou les mises à jour sont forcés.
Origine de l'erreur: n'a pas Pu transférer artefact org.springframework:printemps-contexte:jar:3.0.5.LIBÉRATION de la centrale (http://repo1.maven.org/maven2): Aucune réponse reçue après 60000
Et je n'ai aucune idée de comment la force de maven pour la mise à jour?
- Ce doit être une sorte de record pour avoir la mauvaise réponse acceptée!! -6 contre 500+!!!!
- la question est devenue célèbre récemment: la mauvaise réponse a -25 votes déjà
- Et pourtant, ni a l'OP changé la accepté de répondre à une réponse correcte, ni a la mauvaise réponse été supprimé par son affiche. Vraiment intéressante. Les gens, merci de garder aussi propre et utile..!
- La bonne réponse est sélectionnée maintenant? Ressemble
- Note de côté: j'ai eu ce problème avec Atlassian Maven (à partir de plugin SDK) et la mise à niveau vers une nouvelle version résolu le problème.
Vous devez vous connecter pour publier un commentaire.
-U
moyens de forcer la mise à jour de instantané dépendances. La libération des dépendances ne peuvent pas être mis à jour de cette façon.-U
semble forcer la mise à jour de toutes les dépendances.Si vous voulez mettre à jour une dépendance sans nettoyage ou
-U
vous pouvez simplement le supprimer de votre local repo et puis de construire.L'exemple ci-dessous si, pour la mise à jour de
slf4j-api 1.7.1-SNAPSHOT
:mvn compile
résout mon problème. J'ai passé environ 2 à 3 heures pour comprendre cela. +1.Si votre dépôt local est en quelque sorte jeté pour la libération des pots plutôt des instantanés (
-U
et--update-snapshots
mettre à jour uniquement les captures d'écran), vous pouvez vider le local des pensions de l'aide:Probablement vous souhaitez ensuite à nettoyer et à installer de nouveau:
Beaucoup plus d'informations disponibles sur https://maven.apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html
mvn dependency:purge-local-repository
, il suffit simplement de re-télécharger toutes les dépendances de nouveau, ce qui est exactement ce que je voulaisIci toutes les réponses ne fonctionne pas pour moi. J'ai utilisé le marteau de la méthode:
Qui a résolu le problème 🙂
.m2
-répertoire nommé*.lastUpdated
Vous pouvez le faire efficacement de
Eclipse IDE
. Bien sûr, si vous l'utilisez.Juste au cas où quelqu'un veut seulement mettre à jour le projet de l'instantané dépendances et ne souhaitez pas installer artefact:
N'oubliez pas de les réimporter les dépendances dans votre IDE. Dans l'IDÉE, vous avez besoin de faire un clic droit sur pom fichier et choisissez Maven -> Réimporter
Si vous n'êtes pas sûr de ce qui est à l'intérieur de votre dépôt local, je vous recommande de faire feu de construire avec l'option:
De cette façon, vous allez vous assurer de construire dans un environnement de salle blanche.
Dans mon cas, j'ai d'abord fait
mvn clean install -U
néanmoins, il a été montrant même message d'erreur alors j'ai fermé du projet et une rouvert il.Enfin travaillé.
J'ai obtenu l'erreur dans un autre contexte.
Donc ma solution pourrait être utile à d'autres qui stumple sur la question:
Le problème:
J'ai copié le dépôt local vers un autre ordinateur, qui n'a pas de connexion à un référentiel.
Donc, maven essayé de vérifier les artefacts contre le non valide référentiel.
Ma solution:
Supprimer la _maven.les référentiels de fichiers.
C'est l'une des choses les plus irritantes à propos de Maven. Pour moi qui suit se produit: Si j'ajoute une dépendance demandant plus de dépendances et de plus en plus, mais vous avez une connexion lente, il les coutures à l'arrêt pendant le téléchargement et l'expiration du délai. Alors que le moment toutes les dépendances n'est pas encore extrait sont marqués avec les détenteurs de place dans le .m2 de cache et Maven va pas (jamais) le ramasser, sauf si je supprimer le substituant à l'entrée de la cache (comme les autres mentions) en le supprimant.
Donc autant que je le vois, Maven ou plus précise de l'Eclipse plugin Maven a un bug à ce sujet. Quelqu'un devra le signaler.
Vous avez besoin de vérifier votre settings.xml fichier sous
<maven_home>/conf
répertoire.Si vous utilisez de l'IDE eclipse alors :
Appuyez sur alt+F5, la fenêtre de mise à Jour de Projet Maven pop up.
Check - Forcer la mise à Jour des captures d'écran/les communiqués et cliquez sur OK.
J'ai eu la même erreur avec android-cartes-utils de dépendance. À l'aide de l'aar type de paquet dans la dépendance de la section de résoudre mon problème.
Par défaut, le type est pot de sorte qu'Il peut être vérifié ce type de dépendance dans le dépôt est téléchargé.
Pour la résolution de ce problème à partir d'Eclipse:
1) Ajouter ci-dessous les dépendances de Maven pom.xml et enregistrer le pom.xml fichier.
2) Allez dans project >> Maven >> mise à Jour du Projet
sélectionnez le projet et cliquez sur OK.
3) étape Optionnelle, si elle n'est pas résolu jusqu'à l'étape 2, puis faire ci-dessous, étape après étape 1
Aller de projet >> Maven >> mise à Jour de Project >> coche dans la case "Forcer la mise à Jour des captures d'écran/Releases'
sélectionnez le projet et cliquez sur OK.
Il est important d'ajouter que la principale différence de l'exécution de
mvn
avec -U et sans -U est que-U
remplacera votre local INSTANTANÉ pots à distance INSTANTANÉ des bocaux.Local INSTANTANÉ pots créé à partir de locaux
mvn install
dans le cas où vous avez d'autres modules de votre proj qui génèrent des pots.-U est utilisé pour forcer la mise à jour de Repo maven.
Utilisation
J'ai essayé toutes les réponses ici, mais rien ne semblait fonctionner. Redémarré mon ordinateur, puis a couru
mvn clean install -U
. Qui a résolu mon problème.Ce que maven n'est, il télécharge tous de votre projet de dépendances dans votre local repo (.m2 dossier). À cause de le réseau internet entraînant des problèmes avec votre repo, vous projet est confronté à des problèmes. Je ne suis pas sûr si cela va sûrement vous aider ou pas, mais vous pouvez essayer la suppression de tous les fichiers dans le dossier de référentiel à l'intérieur de l' .m2 dossier. Depuis il n'y aurait rien dans les locaux de pensions, maven serait forcé de télécharger les dépendances de nouveau, forçant ainsi une mise à jour.
Généralement, l' .m2 dossier est situé dans c:users:[nom d'utilisateur]:.m2
J'ai eu ce problème pour une raison différente. Je suis allé sur le repository maven https://mvnrepository.com la recherche de la dernière version de printemps de base, qui à l'époque était 5.0.0.M3/Le référentiel m'a montré cette entrée pour ma pom.xml:
Naïf imbécile que je suis, je suppose que le commentaire a été de me dire que le pot est situé dans le référentiel par défaut.
Cependant, après beaucoup de cogner la tête, j'ai vu une note juste en dessous du xml en disant: "Remarque: cet artefact situé à Alfresco dépôt Public (https://artifacts.alfresco.com/nexus/content/repositories/public/)"
Donc le commentaire dans le XML est totalement trompeuse. Le pot est situé dans une autre archive, ce qui explique pourquoi Maven ne pouvais pas le trouver!
Nous pouvons à la force pour obtenir la dernière mise à jour de libération et de référentiel avec la commande ci-dessous :
J'ai eu le même message d'erreur et l'exécution de
mvn install -U
, puis en exécutantmvn install
a fonctionné pour moi.Je suis tombé sur cette récemment et en cours d'exécution suivants corrigé tous les problèmes
-fae,--fail-at-end Only fail the build afterwards; allow all non-impacted builds to continue
Il semble une étrange façon de fixation non-mise à jour des dépendances externes..mvn clean install -U
ne fonctionne pas. Cependantmvn -U clean
suivie parmvn clean install
n'.