Error de Maven "Error al transferir ..."

285

Estoy tratando de configurar un proyecto usando Maven (m2eclipse), pero aparece este error en Eclipse:

Descripción Ruta de recursos Tipo de ubicación No se pudo calcular el plan de compilación: no se pudo transferir org.apache.maven.plugins: maven-compiler-plugin: pom: 2.0.2 de http://repo1.maven.org/maven2 se almacenó en caché en el local repositorio, la resolución no se volverá a intentar hasta que haya transcurrido el intervalo de actualización de central o se hayan forzado las actualizaciones. Error original: No se pudo transferir el artefacto org.apache.maven.plugins: maven-compiler-plugin: pom: 2.0.2 from / to central ( http://repo1.maven.org/maven2 ): No se recibió respuesta después de 60000 ExampleProject Problema desconocido de Maven

¿Algunas ideas? Sería útil si pudiera mostrarme cómo verificar si todo está bien configurado ...

Deepak Joy
fuente

Respuestas:

720

Elimine todas sus descargas fallidas:

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;

Para ventanas:

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i

Luego haga clic derecho en su proyecto en eclipse y elija Maven -> "Actualizar proyecto ...", asegúrese de que "Actualizar dependencias" esté marcado en el diálogo resultante y haga clic en Aceptar.

Jonas Andersson
fuente
66
En Windows utilicé el cuadro de diálogo del explorador para buscar * .lastUpdated en% USERPROFILE% \. M2 y luego eliminé los archivos que Eclipse informó que eran problemáticos. Trabajó un placer! Estoy seguro de que podría hacerlo usando findtr o similar, pero la GUI funcionó.
Mark McDonald
44
En Windows, presenté un Explorador de Windows e hice clic derecho en .m2 -> Buscar .... Puse * .lastUpdated en el nombre del archivo y "No se pudo transferir" en el cuadro de texto "Una palabra o frase en el archivo".
rajah9
44
En Windows, esos archivos se encuentran dentro <user-dir>/.m2/repository/org/example/myTool/1.01(puede ver el truco). Simplemente elimínelos (el *.lastUpdated) a mano y actualice las dependencias.
Cedric Reichenbach
2
Bajo Eclipse Luna (4.4 hito) en Windows, descubrí que después de eliminar * .lastUpdated también necesitaba obtener m2eclipse para reindexar el repositorio local (a través de Eclipse-> Ventana-> Preferencias-> Maven-> Configuración del usuario: Repositorio local: Reindex)
gb96
2
después de arrancarme el pelo durante horas ... finalmente esta solución funcionó para mí en eclipse neon ... gracias
Tayab Hussain
71

Esto funcionó para mí en Windows también.

  1. Localice el repositorio {user} /. M2 / (Uso de Juno / Win7 aquí)
  2. En el campo Buscar en la esquina superior derecha de la ventana, escriba ".lastupdated". Windows buscará en todas las subcarpetas estos archivos en el directorio. (No miré a través del caché).
  3. Elimínalos haciendo clic con el botón derecho> Eliminar (conservé todas las últimas propiedades actualizadas).
  4. Luego regrese a Eclipse, haga clic derecho en el proyecto y seleccione Maven> Actualizar proyecto. Seleccioné "Forzar actualización de instantáneas / lanzamientos". Haga clic en Aceptar y las dependencias finalmente se resolvieron correctamente.
iowatiger08
fuente
1
También descubrió que si tiene referencias incorrectas (sintaxis o número de versión) a las bibliotecas, no se descargarán. Use la herramienta de búsqueda de repositorio en línea de Maven para asegurarse de que hace referencia a las bibliotecas correctamente en su pom.xml.
iowatiger08
Esto funcionó para windows. ¡Muchas gracias hombre! Pero este problema se repite a veces. ¿Tenemos alguna solución permanente?
LINGS
@ iowatiger08 ¿qué sucede si también elimino los archivos lastupdated.properties?
garg10may
@ garg10may No creo que eliminarlos sea un gran problema porque Maven los repoblará cuando haga la próxima "actualización".
iowatiger08
@ iowatiger08, hay errores si uso una versión como <version> [1.0.0,2.0.0) </version> en mi archivo pom, pero cambio la versión a 1.6.10, los errores desaparecieron. ¿Por qué pasa esto?
gfan
32

En Eclipse: haga clic con el botón derecho en el proyecto-> Maven-> Actualizar proyecto-> Marque la casilla de verificación "Forzar actualización de instantáneas / lanzamientos". Haga clic en Aceptar.

Zhenya
fuente
17

Gracias por las respuestas, pero después de buscar más, pude solucionar el problema. Resultó que tenía que eliminar uno de los "* .lastUpdated" que impedía la actualización de uno de mis complementos (Maven Surefire Plugin). Lo hice manualmente, porque aparentemente un maven clean no lo hacía.

El problema era que el archivo "* .lastUpdated" para un complemento estaba bloqueando la comprobación de actualizaciones de Maven y no permitiendo que se descargara un jar necesario.

Deepak Joy
fuente
44
Tal vez sea obvio, pero me gustaría agregar: después de buscar manualmente el archivo * .lastUpdated especificado en el repositorio de Maven (Surefire es uno en mi caso), y eliminarlo, uno tiene que limpiar el proyecto en Eclipse.
superjos
15

Intenta ejecutar

mvn -U clean

o Ejecutar> Maven Clean y Maven> Actualizar instantáneas desde el menú contextual del proyecto en eclipse

Lev Khomich
fuente
9

En mi caso. Los problemas son la misma razón. Veo que el problema está en proxy y firewall.

Aquí mi solución
Fisrt maneras:
1. instalar Proxy para Maven y Eclipse
2. Vaya a Localizar el repositorio {user} /. M2 / y elimine todos los archivos * .lastupdated
3. Vuelva a Eclipse, haga clic derecho en el proyecto y seleccione Maven> Actualizar proyecto. > Seleccione "Forzar actualización de instantáneas / lanzamientos".

Si el proyecto sigue existiendo error. ejemplo: aquí están mis problemas después de todo el paso anterior

Failure to transfer org.apache.maven:maven-archiver:pom:2.5 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven:maven-archiver:pom:2.5 from/to central (https://repo.maven.apache.org/maven2): Connect timed out

Utilizo esta solución útil para mí:
1. Encuentre el repositorio en https://mvnrepository.com/
2. Copie la dependencia a mi * .poml del
ejemplo de proyecto

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-archiver</artifactId>
    <version>2.5</version>
</dependency>


3. Construir proyecto. la dependencia que falta se descargará al repositorio local.
4. Vuelva a Eclipse, haga clic derecho en el proyecto y seleccione Maven> Actualizar proyecto. > Seleccione "Forzar actualización de instantáneas / lanzamientos".
= >> El error se resuelve
5. Elimino las dependencias en el paso 2 después de terminar y resolver. Hecho

Huan le
fuente
7

Esto funcionó para mí en Windows:

  1. Localiza el {user}/.m2/repository
  2. En el campo Buscar en la esquina superior derecha de la ventana, escriba " .lastupdated". Windows buscará en todas las subcarpetas estos archivos en el directorio.
  3. Eliminar todos los .lastupdatedarchivos.
  4. Regrese a Eclipse, haga clic derecho en el proyecto y seleccione Maven > Update Project.
  5. Seleccione " Force Update of Snapshots/Releases".
  6. Haga clic en Aceptar y las dependencias finalmente se resolverán correctamente.
sumeet kumar
fuente
6

Me pasó como Iam detrás de un firewall. Las dependencias no se descargan a veces cuando se ejecuta en Eclipse IDE. Asegúrese de usar mvn clean install -Upara resolver el problema. Vería las descargas de dependencias después de esto.

Kran
fuente
Una vez que haga esto en su terminal, diríjase a Eclipse, seleccione el proyecto y "Actualizar proyecto". Esto debería resolver el problema sin introducir la dificultad de encontrar y eliminar ".lastUpdated".
Edward Quijote el
5

Si está detrás de un proxy, debe actualizar el archivo settings.xml (en la carpeta conf de su MAVEN_HOME, el archivo contiene información sobre la configuración del proxy) y, además, es posible que deba actualizar la configuración de red de Eclipse (Ventana-> Preferencias ...-> tipo Conexiones de red).

Intente usar -X o --debug para obtener la salida de depuración, esto podría proporcionar información adicional sobre el problema.

Abel Morelos
fuente
3

Tuve un problema similar en Eclipse 3.6 con m2eclipse.

No se pudo calcular el plan de compilación: no se pudo transferir org.apache.maven.plugins: maven-resources-plugin: jar: 2.4.3 de http://repo1.maven.org/maven2 se almacenó en caché en el repositorio local, la resolución no volver a intentarlo hasta que haya transcurrido el intervalo de actualización de central o se hayan forzado las actualizaciones. Error original: No se pudo transferir el artefacto org.apache.maven.plugins: maven-resources-plugin: jar: 2.4.3 desde central (http://repo1.maven.org/maven2): ConnectException project1 Problema desconocido de Maven

Eliminar todos los archivos maven * .lastUpdated de mi repositorio local (como sugirió Deepak Joy) resolvió ese problema.

Luki
fuente
2

Tuve un problema similar con solo unos pocos proyectos en mi espacio de trabajo. Otros proyectos con POM casi idénticos no tuvieron ningún error en absoluto. Ninguna de las otras respuestas enumeradas solucionó mi problema. Finalmente me topé con eliminar / volver a aplicar la naturaleza Maven para cada proyecto y los errores desaparecieron:

Para cada proyecto que tenga un pom con el error "la resolución no se volverá a intentar ...":

  1. Haga clic derecho en el proyecto en Eclipse y seleccione Maven -> Deshabilitar Maven Nature
  2. Haga clic derecho en el proyecto en Eclipse y seleccione Configurar -> Convertir a proyecto Maven
smith.gt
fuente
2

Me pasó a mí también puede que tenga dos soluciones para esto

  1. Si su proyecto consta de alguna dependencia externa o específica del proyecto, debe agregarlo manualmente a su carpeta de repositorio M2 que se encuentra en la carpeta C: \ Users \ Mohit.Singh.m2 \ repository y luego debe ejecutar mvn eclipse: eclipse y luego mvn clean install desde la carpeta del proyecto

  2. si no tiene ninguna dependencia específica de wxternal o del proyecto, entonces puede importar el proyecto en eclipse como proyecto maven existente, luego haga clic derecho en proyecto -> IR a maven -> Haga clic en actualizar proyecto, aparecerá una ventana y verifique la descarga de la instantánea de fuerza opción y presione OK

Mohit Singh
fuente
2

Proporcione la ruta maven setting.xml correcta en eclipse.

  • Windows -> Preferencia -> Maven -> Configuración de usuario

Introduzca la ruta de setting.xml correcta en el cuadro de texto de configuración del usuario

HansiRadhakrishnan
fuente
Agregue la instalación de maven también en las preferencias de eclipse maven
Gunwant
1

simplemente elimine el arquetipo en maven local repository. Como se dijo anteriormente, sucede en caso de descargas fallidas de arquetipos.

Panda Pravat
fuente
1

Para mí, acabo de agregar el siguiente código xml en el archivo POM.xml. Y después de que hice ** clic derecho en el proyecto -> Maven -> Actualizar proyecto y verifiqué Forzar actualización de instantáneas / lanzamientos ** y todo funcionó

    <dependencies>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/jstl/jstl -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
Lamine BA
fuente
0

settings.xml para proxy? y en eclipse hay un perfil global / local de maven, agregue settings.xml

roi
fuente
2
¿Puedes editar tu respuesta y agregar más detalles? Dé un ejemplo de qué agregar settings.xmly dónde se puede encontrar. Además, tenga en cuenta que esta pregunta tiene 10 meses.
Brigante
0

Puede eliminar la carpeta .m2 y forzar a MyEclipse a volver a descargar todas las dependencias al inicio. Vaya a Ventana> Preferencias> MyEclipse> Maven4MyEclipse.

R Tiwari
fuente
0
  • Se produjo el error anterior debido a la eliminación de 'maven-compiler-plugin 2.0.2' del repositorio de maven.
  • Para mí, el error anterior se resuelve cuando degrado 'maven-compiler-plugin' a la versión 2.0 o 2.0.1.
Avinash Pande
fuente
-1

La solución que funciona para mí es la siguiente:

  1. Copie la dependencia a pom.

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
  2. Haga clic derecho en su proyecto

  3. Seleccione Maven
  4. Seleccione Actualizar proyecto
  5. Seleccione Forzar actualización de instantáneas / lanzamientos
Jorge Santos Neill
fuente
-2

Asegúrese de que el archivo settings.XML en la carpeta .m2 sea válido primero Luego, después de limpiar el repositorio utilizando el siguiente comando en cmd

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
dush88c
fuente