141 votes

Comment supprimer le fichier jar du dépôt local de maven qui a été ajouté avec install:install-file ?

mvn install:install-file -Dfile=phonegap-1.1.0.jar -DgroupId?=phonegap -DartifactId?=phonegap -Dversion=1.1.0 -Dpackaging=jar

J'utilise la commande ci-dessus pour installer le jar local dans le repo local de maven. Maintenant, j'ai obtenu la dépendance de maven repo. Je veux la supprimer du repo local. Comment la nettoyer ?

142voto

Steve Powell Points 4722

Bien que la suppression manuelle des fichiers fonctionne, il y a un officiel manière de supprimer les dépendances de votre projet à partir de votre référentiel local (cache) et, facultativement, en les résolvant à nouveau à partir de référentiels distants.

L'objectif purge-local-repository sur le plugin de dépendance Maven standard, supprimera les dépendances installées localement. de ce projet de votre cache. En option, vous pouvez les résoudre à nouveau à partir des référentiels distants en même temps.

Ceci devrait être utilisé dans le cadre d'une phase de projet. car elle s'applique aux dépendances du projet contenant. Les dépendances transitives seront également purgées (localement), par défaut.

Si vous voulez retirer explicitement un seul artefact du cache, utilisez purge-local-repository avec le manualInclude paramètre. Par exemple, à partir de la ligne de commande :

mvn dependency:purge-local-repository -DmanualInclude="groupId:artifactId, ..."

La documentation implique que cela ne supprime pas les dépendances transitives par défaut. Si vous utilisez un emplacement de cache non standard, ou sur plusieurs plateformes, ces méthodes sont plus fiables que la suppression des fichiers "à la main".

La documentation complète se trouve dans le maven-dependency-plugin spéc.

Note : Les anciennes versions du logiciel maven dependency Le plugin avait un manual-purge-local-repository qui est maintenant (version 2.8) impliquée par l'utilisation de l'option manualInclude . La documentation pour manualIncludes (avec un s ) doit être lu également.

119voto

Lagz0ne Points 1229

Bien qu'il existe une commande maven que vous pouvez exécuter pour faire cela, il est plus facile de juste supprimer les fichiers manuellement à partir du référentiel.

Comme ceci sur Windows Documents and Settings\your username\.m2 ou $HOME/.m2 sur Linux

26voto

RobE Points 380

Au moins sur la version actuelle de maven, vous devez ajouter le commutateur -DreResolve=false si vous avez l'intention de supprimer les dépendances de votre repo local sans les re-télécharger.

mvn dependency:purge-local-repository -DreResolve=false

supprime les dépendances sans les télécharger à nouveau.

13voto

Abimaran Kugathasan Points 12318

Supprimez toutes les choses (jar, pom.xml, etc) sous votre local ~/.m2/repository/phonegap/1.1.0/ si vous utilisez un système d'exploitation linux.

-2voto

Nagesh Vashist Points 1

J'ai rencontré le même problème, j'ai suivi toutes les suggestions ci-dessus, mais rien n'a fonctionné. Finalement, j'ai supprimé les dossiers .m2 et .ivy et ça a marché pour moi.

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