Force maven actualización

Importé mi proyecto de trabajo en otra computadora para que comenzara a descargar dependencias.

Aparentemente, mientras tanto, mi conexión a Internet se colgó. Ahora entiendo:

Errores de comstackción para los cómics; org.apache.maven.lifecycle.LifecycleExecutionException: no se pudo ejecutar el objective en el proyecto comicsTest: no se pudieron resolver las dependencias para el proyecto comicsTest: comicsTest: war: 0.0.1-SNAPSHOT: los siguientes artefactos no se pudieron resolver: org.springframework: spring- contexto: jar: 3.0.5.RELEASE, org.hibernate: hibernate-entitymanager: jar: 3.6.0.Final, org.hibernate: hibernate-core: jar: 3.6.0.Final, org.hibernate: hibernate-commons- anotaciones: jar: 3.2.0.Final, org.aspectj: aspectjweaver: jar: 1.6.8, commons-lang: commons-lang: jar: 2.5,

mysql: mysql-connector-java: jar: 5.1.13: Error al transferir org.springframework: spring-context: jar: 3.0.5.RELEASE de http://repo1.maven.org/maven2 fue almacenado en caché en el repository local , la resolución no se volverá a intentar hasta que haya transcurrido el intervalo de actualización de la central o se hayan forzado las actualizaciones.

Error original: No se pudo transferir el artefacto org.springframework: spring-context: jar: 3.0.5.RELEASE from central ( http://repo1.maven.org/maven2 ): no se recibió respuesta después de 60000

¿Y no tengo idea de cómo obligar a maven a actualizarse?

mvn clean install -U 

-U significa la actualización forzada de las dependencias de instantáneas . Las dependencias de lanzamiento no se pueden actualizar de esta manera.

-U parece forzar la actualización de todas las dependencias. Si desea actualizar una única dependencia sin limpiar o -U, puede eliminarla de su repository local y luego comstackrla. El ejemplo a continuación es para actualizar slf4j-api 1.7.1-SNAPSHOT:

 rm -rf ~/.m2/repository/org/slf4j/slf4j-api/1.7.1-SNAPSHOT mvn compile 

Si su repository local está de alguna manera arruinado para los tarros de lanzamiento en lugar de las instantáneas ( -U y --update-snapshots solo actualizan instantáneas), puede purgar el repository local usando lo siguiente:

  mvn dependency:purge-local-repository 

Probablemente quiera limpiar e instalar nuevamente:

  mvn dependency:purge-local-repository clean install 

Mucha más información disponible en https://maven.apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html

Puede hacerlo de manera efectiva desde Eclipse IDE . Por supuesto si lo estás usando.

 Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases 

Todas las respuestas aquí no funcionaron para mí. Usé el método del martillo:

 find ~/.m2/ -name "*.lastUpdated" | xargs rm 

Eso solucionó el problema 🙂

Solo en caso de que alguien solo quiera actualizar las dependencias de instantáneas del proyecto y no quiera instalar artefactos:

 mvn dependency:resolve -U 

No olvide volver a importar dependencias en su IDE. En IDEA debes hacer clic derecho en el archivo pom y elegir Maven -> Reimportar

Si no está seguro de lo que hay dentro de su repository local, le recomiendo que inicie una comstackción con la opción:

 -Dmaven.repo.local=localrepo 

De esa forma, se asegurará de construir en un ambiente de sala limpia.

En mi caso primero lo hice
mvn clean install -U
Todavía estaba mostrando el mismo error luego cerré el proyecto y lo volví a abrir. Finalmente funcionó.

Tengo el error en otro contexto. Entonces mi solución podría ser útil para otros que estudien la pregunta:

El problema: he copiado el repository local en otra computadora, que no tiene conexión con un repository especial. Así que Maven intentó verificar los artefactos contra el repository inválido.

Mi solución: elimine los archivos _maven.repositories.

Esta es una de las cosas más molestas de Maven. Para mí, sucede lo siguiente: si agrego una dependencia que solicita más dependencias y más y más, pero tengo una conexión lenta, parece detenerse mientras se descarga y se agota el tiempo de espera. Mientras se agota el tiempo, todas las dependencias aún no recuperadas se marcan con marcadores de posición en la memoria caché .m2 y Maven no (nunca) la recogerá a menos que elimine la entrada del marcador de posición de la memoria caché (como se dice) quitándola.

Por lo que veo, Maven o más preciso, el plugin Eclipse Maven tiene un error con respecto a esto. Alguien debería informar esto.

/conf verificar su archivo settings.xml en el directorio /conf .

Tengo el mismo error con la dependencia de android-maps-utils. Usar el paquete de tipo aar en la sección de dependencia resuelve mi problema. Por defecto, type es jar, por lo que se puede verificar qué tipo de dependencia se descarga en el repository.

Para solucionar este problema desde Eclipse:

1) Agregue la dependencia siguiente en Maven pom.xml y guarde el archivo pom.xml.

   com.thoughtworks.xstream xstream 1.3.1  

2) Ir al proyecto >> Maven >> Actualizar proyecto

seleccione el proyecto y haga clic en Aceptar.

3) Paso opcional, si no se resuelve hasta el paso 2, luego haz el paso siguiente después del paso 1

Ir al proyecto >> Maven >> Actualizar proyecto >> marcar en la casilla ‘Forzar actualización de instantáneas / lanzamientos’

seleccione el proyecto y haga clic en Aceptar.

Es importante agregar que la diferencia principal de ejecutar mvn con -U y sin -U es que -U anulará los mvn SNAPSHOT locales con los mvn SNAPSHOT remotos.

mvn install SNAPSHOT locales creados a partir de la mvn install local en los casos en que tenga otros módulos de su proyecto que generen flasks.

-U se usa para forzar la actualización Maven Repo. Utilizar

 mvn -U clean install 

Tuve este problema por una razón diferente. Fui al repository de maven https://mvnrepository.com buscando la última versión de Spring Core, que en ese momento era 5.0.0.M3 / El repository me mostró esta entrada para mi pom.xml:

   org.springframework spring-core 5.0.0.M3  

Ingenuo como soy, supuse que el comentario me decía que el jar se encuentra en el repository predeterminado.

Sin embargo, después de mucho ruido, vi una nota justo debajo del xml que decía “Nota: este artefacto se encuentra en el repository público de Alfresco ( https://artifacts.alfresco.com/nexus/content/repositories/public/ ) ”

Entonces, el comentario en el XML es completamente engañoso. El contenedor está ubicado en otro archivo, ¡por lo que Maven no pudo encontrarlo!

Me encontré con esto recientemente y ejecutar lo siguiente solucionó todos los problemas

 mvn -fae install 

Podemos forzar a obtener la última actualización del lanzamiento y el repository de instantáneas con el siguiente comando:

 mvn --update-snapshots clean install 

Tuve el mismo error y ejecutar mvn install -U y luego ejecutar mvn install funcionó para mí.

mvn clean install -U no funciona. Sin embargo mvn -U clean seguido de mvn clean install does does.