mvn install:install-file -Dfile=phonegap-1.1.0.jar -DgroupId?=phonegap -DartifactId?=phonegap -Dversion=1.1.0 -Dpackaging=jar
Utilizo el comando anterior para instalar jar local en el repositorio local de maven. Ahora tengo la dependencia del repositorio de Maven. Quiero eliminar esto del repositorio local. ¿Cómo limpiarlo?
Respuestas:
Si bien hay un comando maven que puede ejecutar para hacer esto, es más fácil eliminar los archivos manualmente del repositorio.
Me gusta esto en Windows
Documents and Settings\your username\.m2
o$HOME/.m2
en Linuxfuente
.m2/repository directory
. Un compañero de trabajo ha eliminado el directorio .m2 antes y causa problemas porque en nuestro proyecto tenemos que modificar elsettings.xml
archivo..m2/repository
directorio también eliminará todos los archivos de plugin maven. Mientras que con elpurge-local-repository
comando está eliminando solo dependencias..m2/repository
está organizada por el ID del grupo Maven, por lo que puede eliminar el subdirectorio correspondiente al artefacto que desea eliminar.Aunque la eliminación de archivos funciona manualmente, hay una forma oficial de eliminar las dependencias de su proyecto de su repositorio local (caché) y, opcionalmente, volver a resolverlas desde repositorios remotos.
El objetivo
purge-local-repository
, en el complemento de dependencia estándar de Maven, eliminará las dependencias instaladas localmente de este proyecto de su caché. Opcionalmente, puede volver a resolverlos desde los repositorios remotos al mismo tiempo.Esto debe usarse como parte de una fase del proyecto porque se aplica a las dependencias para el proyecto que lo contiene. También las dependencias transitivas se eliminarán (localmente) también, de forma predeterminada.
Si desea eliminar explícitamente un solo artefacto del caché, úselo
purge-local-repository
con elmanualInclude
parámetro Por ejemplo, desde la línea de comando:La documentación implica que esto no elimina las dependencias transitivas de forma predeterminada. Si está ejecutando con una ubicación de caché no estándar, o en múltiples plataformas, estas son más confiables que eliminar archivos "a mano".
La documentación completa está en la especificación del complemento de dependencia de maven .
Nota : Las versiones anteriores del
dependency
complemento Maven tenían unmanual-purge-local-repository
objetivo, que ahora (versión 2.8) está implícito en el uso demanualInclude
. La documentación paramanualIncludes
(con uns
) también debe leerse.fuente
.jar
correos electrónicos que no se descargaron de Maven Central u otro repositorio. Cuando ejecuto este comando, elimina todos los.jar
correos electrónicos que se descargaron automáticamente, pero cuando llega al.jar
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:purge-local-repository (default-cli) on project alloy-generator: Failed to refresh project dependencies for: myartifact: required artifacts missing: [ERROR] manually-downloaded-and-installed.jar ...
.jar
, pero aún muestra un error. Por lo tanto, para los correos.jar
electrónicos que se han instalado manualmente, recomendaría eliminar manualmente en lugar de usar este método, porque Maven crea algunos archivos extraños comoyourjar.jar.lastUpdated
yyourjar.pom.lastUpdated
que es posible que deba eliminar manualmente de todos modos. Pero si maven administra todas las dependencias automáticamente, esta es una excelente manera de desinstalar las dependencias.Al menos en la versión actual de Maven, debe agregar el modificador -DreResolve = false si tiene la intención de eliminar las dependencias de su repositorio local sin volver a descargarlas.
elimina las dependencias sin descargarlas nuevamente.
fuente
Elimine todas las cosas (jar, pom.xml, etc.) de su
~/.m2/repository/phonegap/1.1.0/
directorio local si está utilizando un sistema operativo Linux.fuente
Me enfrenté al mismo problema, revisé todas las sugerencias anteriores, pero nada funcionó. Finalmente eliminé las carpetas .m2 y .ivy y funcionó para mí.
fuente
cd ~/.m2
git init
git commit -am "some comments"
cd /path/to/your/project
mvn install
cd ~/.m2
git reset --hard
fuente