La Force de re-télécharger de la libération de la dépendance à l'aide de Maven
Je suis en train de travailler sur un projet avec dépendance X. X, à son tour, dépend Y.
J'ai utilisé pour Y inclure explicitement dans mon pom du projet. Cependant, il n'a pas été utilisé pour rendre les choses plus propre, j'ai plutôt ajouté à X pom comme une dépendance. X est marqué comme une libération de la dépendance.
Le problème est que, après la suppression de Y à partir de mon pom du projet et de l'ajouter à X pom, mon projet n'est pas de le ramasser sur mvn -U clean package
. Je sais -U mise à jour de clichés mais pas communiqués.
Donc, sans supprimer le ~/.m2/repository répertoire comment puis-je la force d'un re-téléchargement de X pom? Aussi, j'ai essayé de courir dependency:purge-local-repository
et ça ne fonctionne pas non plus.
- Vous avez touché l'questions comme "maven-2". L'option-U a été ajouté dans Maven 3 à résoudre ce problème. Je vous suggère de mise à niveau.
- Simplement à partir d'un point de vue de la méthodologie, si vous modifiez
X
's pom, alors qu'il devrait constituer une nouvelle version, même si c'est seulement un numéro de patch changement:1.3
->1.3.1
. Donc, ce qui permettrait d'éliminer ce problème à partir de l'obtenir-aller. - Cependant, il est toujours possible d'avoir des problèmes similaires avec des instantanés ainsi, il est donc bon d'avoir quelques réponses.
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas faire Maven re-télécharger les dépendances, mais ce que vous pouvez faire à la place est de purger les dépendances qui ont été mal téléchargé à l'aide de
mvn dependency:purge-local-repository
Voir: http://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html
mvn dependency:purge-local-repository clean package
, peut-être un projet de supprimer la même dépendance dans le dépôt local, tandis qu'un autre projet est en cours d'exécution de la compilation. Comment les éviter?Je viens de supprimer mon ~/.m2/repository et qui ont forcé une re-télécharger 😉
Je pense que la commande suivante peut vous aider!
Grâce à Ali Tokmen réponse. J'ai réussi à force de supprimer des locaux spécifiques de dépendance avec la commande suivante:
Avec cela, il supprime
utils
de mon .m2/repository et toujours les re-télécharger leutils
POT de dépendance quand je lancemvn clean install
.Projet clic droit-> Maven -> mise à Jour du Projet
et cochez les cases comme dans la capture d'écran. Il mettra à jour les versions 🙂
-U signifie forcer la mise à jour des 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.
Lorsque vous avez ajouté à X, vous devriez avoir incrémenté X est le numéro de version je.e X-1.2
Alors X-1.2 doit avoir été installé/déployé et vous devriez avoir changé vos projets de dépendance sur X pour être dépendante de la nouvelle version de X-1.2
Si vous voulez vraiment à la force de télécharger toutes les dépendances, vous pouvez essayer de le ré-initialiser l'ensemble du référentiel. Comme dans cet article déjà décrit, vous pouvez utiliser:
Il suffit de supprimer ~/.m2/repository...../actual_path où l'invalide LOC est à venir, car elle oblige à re-télécharger l'supprimé les fichiers jar. Ne supprimez pas l'ensemble du dossier de référentiel de au lieu de supprimer le dossier d'où l'erreur est à venir.
La plupart des réponses fournies ci-dessus permettrait de résoudre le problème.
Mais si vous utilisez l'Ide, et il veut juste le réparer automatiquement pour vous, allez à Maven Paramètres.
Construire,l'Exécution, le Déploiement -> créer des Outils -> Maven
Désactiver Travailler Hors Connexion
Toujours activer la mise à jour des instantanés (Commutateur lorsque requis)
Si vous connaissez l'id de groupe de
X
, vous pouvez utiliser cette commande pour retélécharger tousX
et ses dépendancesIl fait la même chose que les autres réponses que proposent l'utilisation d'
dependency:purge-local-repository
, mais il ne supprime et redownloads tout ce qui a trait àX
.Aller à build path... supprimer maven bibliothèque u ajoutée... cliquez sur ajouter à la bibliothèque ... cliquez sur maven géré dépendances... puis cliquez sur projet maven... vérifier les paramètres de résoudre les dépendances maven case à cocher..il va télécharger toutes les dépendances maven