web-dev-qa-db-fra.com

Comment supprimer le fichier jar du référentiel maven local 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 un fichier jar local dans le dépôt Maven Local. Maintenant, j'ai la dépendance de Maven Repo. Je veux supprimer cela du référentiel local. Comment le nettoyer?

114
user1844840

Bien qu'une commande maven puisse être exécutée à cet effet, il est plus facile de simplement supprimer les fichiers manuellement du référentiel.

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

97
Lagz0ne

Bien que la suppression manuelle de fichiers fonctionne, il existe un moyen officiel de supprimer les dépendances de votre projet de votre référentiel local (cache) et éventuellement les résoudre à partir de référentiels distants.

L'objectif purge-local-repository, du plug-in de dépendance standard Maven, supprimera de votre cache les dépendances installées localement de ce projet . Vous pouvez éventuellement 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 il s'applique aux dépendances du projet contenant . Les dépendances transitives seront également purgées (localement) par défaut.

Si vous souhaitez supprimer explicitement un seul artefact du cache, utilisez purge-local-repository avec le paramètre manualInclude. 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 plates-formes, elles sont plus fiables que la suppression de fichiers "à la main".

La documentation complète est dans le maven-dependency-plugin spec.

Note : Les anciennes versions du plugin maven dependency avaient un objectif manual-purge-local-repository, qui est maintenant (version 2.8) impliqué par l'utilisation de manualInclude. La documentation de manualIncludes (avec un s) doit également être lue.

113
Steve Powell

Au moins sur la version actuelle de maven, vous devez ajouter le commutateur -DreResolve = false si vous souhaitez supprimer les dépendances de votre référentiel local sans les télécharger à nouveau.

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

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

16
RobE

Supprimez tout ce qui se trouve (jar, pom.xml, etc.) dans votre répertoire local ~/.m2/repository/phonegap/1.1.0/ si vous utilisez un système d'exploitation Linux.

11

J'ai fait face au même problème, j'ai parcouru toutes les suggestions ci-dessus, mais rien n'a fonctionné. Enfin, j'ai supprimé les dossiers .m2 et .ivy et cela a fonctionné pour moi.

0
Nagesh Vashist