que - ¿Cómo borras el caché de Apache Maven?
si borro la memoria cache se borran mis fotos (5)
¿Ha revisado / cambiado la configuración de updatePolicy para sus repositorios en su settings.xml
?
Este elemento especifica con qué frecuencia deben intentar las actualizaciones. Maven comparará la marca de tiempo de POM local (almacenada en el archivo maven-metadata del repositorio) con el control remoto. Las opciones son: siempre, diariamente (predeterminado), intervalo: X (donde X es un número entero en minutos) o nunca.
Intenta configurarlo para always
Recientemente, Apache Maven parece tener problemas de almacenamiento en caché. Realizar instalaciones limpias en nuestros proyectos utilizando Windows Vista o Windows 7 a veces produce artefactos con los mismos datos que una compilación anterior, aunque los archivos del artefacto más reciente deberían haberse actualizado.
¿Hay alguna manera de borrar este caché para obligar maven a activar siempre una construcción limpia del artefacto local que debe construirse?
En particular, tenemos problemas para crear una aplicación web con el complemento de guerra. La versión de Maven es 3.0.3. La versión del complemento War es 2.1.1.
Elimine los artefactos (o el repositorio local completo) de c:/Users/username/.m2/repository
a mano.
Esto funciona en Spring Tool Suite v 3.1.0.RELEASE, pero supongo que también está disponible en Eclipse.
Después de eliminar los artefactos a mano (según lo indicado por palacsint arriba) en el directorio /username/.m2, vuelva a indexar los archivos haciendo lo siguiente:
Vaya a Windows-> Preferences-> Maven-> User Settings menu.
Haga clic en el botón "Reindex" junto al cuadro de texto "Repositorio local". Haga clic en "Aplicar", luego en "Aceptar" y listo.
Para limpiar el caché local intente usar el complemento de dependencia.
-
mvn dependency:purge-local-repository
: este es un intento de eliminar los archivos del repositorio local, pero siempre va y llena el repositorio local una vez que se han eliminado las cosas. -
mvn dependency:purge-local-repository -DreResolve=false
: Esto evita la resolución de las dependencias, pero parece que todavía va a la red a veces. -
mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false
: Esto fue agregado por Paweł Prażak y parece funcionar bien. Usaría el tercero si quieres vaciar el repositorio local, y el primero si solo quieres descartar el repositorio local y obtener las dependencias nuevamente.
Yo haría lo siguiente:
mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false --fail-at-end
Las banderas le dicen a maven que no intente resolver dependencias o que acceda a la red. Elimina lo que ves localmente.
Y por si fuera poco, ignore los errores ( --fail-at-end
) hasta el final. Esto a veces es útil para proyectos que tienen un conjunto de dependencias algo desordenado o que dependen de un repositorio interno algo desordenado (sucede).