Je travaille sur un projet avec la dépendance X. X, à son tour, dépend de Y.
J'avais l'habitude d'inclure explicitement Y dans le pom de mon projet. Cependant, il n'a pas été utilisé et pour rendre les choses plus propres, je l'ai plutôt ajouté au pom de X en tant que dépendance. X est marqué comme une dépendance de version.
Le problème est qu'après avoir supprimé Y du pom de mon projet et l'avoir ajouté au pom de X, mon projet ne le reprend pas mvn -U clean package
. Je connais les instantanés de mise à jour -U mais pas les versions.
Donc, sans supprimer le répertoire ~ / .m2 / repository, comment puis-je forcer un re-téléchargement du pom de X? De plus, j'ai essayé de courir dependency:purge-local-repository
et cela n'a pas fonctionné non plus.
X
de pom, alors cela devrait constituer une nouvelle version, même s'il ne s'agit que d'un changement de numéro de patch:1.3
->1.3.1
. Donc, cela éliminerait ce problème dès le départ.Réponses:
Vous ne pouvez pas faire re-télécharger les dépendances de Maven, mais ce que vous pouvez faire à la place est de purger les dépendances qui ont été incorrectement téléchargées en utilisant
mvn dependency:purge-local-repository
Voir: http://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html
la source
mvn dependency:purge-local-repository clean package
, un projet peut être supprimé de la même dépendance dans le référentiel local pendant qu'un autre projet exécute la compilation. Comment éviter?Je viens de supprimer mon ~ / .m2 / repository et cela a forcé un re-téléchargement;)
la source
Je pense que la commande suivante peut vous aider!
la source
Merci à la réponse d'Ali Tokmen. J'ai réussi à forcer la suppression de la dépendance locale spécifique avec la commande suivante:
Avec cela, il supprime
utils
de mon .m2 / référentiel et il re-télécharge toujours lautils
dépendance JAR lorsque je l'exécutemvn clean install
.la source
Projet cliquez avec le bouton droit de la souris -> Maven -> Mettre à jour le projet et cochez les cases comme dans la capture d'écran. Il mettra également à jour les versions :)
la source
-U signifie forcer la mise à jour des dépendances.
Si vous souhaitez mettre à jour une seule dépendance sans nettoyer ou -U, vous pouvez simplement la supprimer de votre dépôt local, puis la générer.
la source
Lorsque vous l'avez ajouté à X, vous devriez avoir incrémenté le numéro de version de X, c'est-à-dire X-1.2.
Ensuite, X-1.2 devrait avoir été installé / déployé et vous devriez avoir changé la dépendance de vos projets sur X pour être dépendante de la nouvelle version X-1.2
la source
Si vous connaissez l'identifiant du 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 qui proposent d'utiliser
dependency:purge-local-repository
, mais il ne supprime et retélécharge que tout ce qui y est liéX
.la source
Si vous voulez vraiment forcer le téléchargement de toutes les dépendances, vous pouvez essayer de réinitialiser tout le référentiel maven. Comme dans cet article déjà décrit, vous pouvez utiliser:
la source
Supprimez simplement ~ / .m2 / repository ..... / actual_path où le LOC invalide arrive car il force à re-télécharger les fichiers jar supprimés. Ne supprimez pas tout le dossier du référentiel à la place, supprimez le dossier spécifique d'où provient l'erreur.
la source
La suppression de
~/.m2/repository
résoudra votre problème. Mais, si vous avez encore besoin de conserver l'ancien,~/.m2/repository
vous pouvez simplement changer temporairement le chemin local de maven.Si vous travaillez sur IntelliJ, accédez simplement aux paramètres Maven et modifiez le chemin du référentiel local vers un autre emplacement. Vous devrez peut-être cocher la case de remplacement à proximité.
la source
La plupart des réponses fournies ci-dessus résoudraient le problème.
Mais si vous utilisez IntelliJ et que vous souhaitez qu'il le répare automatiquement, accédez aux paramètres Maven.
Construction, exécution, déploiement -> Outils de construction -> Maven
Désactiver le travail hors ligne
Activer Toujours mettre à jour les instantanés (changer si nécessaire)
la source
Allez au chemin de construction ... supprimez la bibliothèque maven existante que vous avez ajoutée ... cliquez sur ajouter une bibliothèque ... cliquez sur les dépendances gérées par maven ... puis cliquez sur les paramètres du projet maven ... cochez la case résoudre les dépendances de maven..il téléchargera tout dépendances maven
la source