2010-03-27 8 views
52

Tengo una configuración de Eclipse con m2eclipse y subversivo. He importado un proyecto maven2 de svn. Pero recibo el mensaje de error de que falta un montón de artefactos (por ejemplo: Artifact missing.springframework: spring-test: jar: 3.0.1.RELEASE: test).Las descargas de Maven tienen .lastActualizado como extensión

Si miro en mi repositorio veo los archivos jar allí pero tienen una extensión extra .lastUpdated. ¿Por qué Maven agrega .lastUpdated a las jarras? Y más importante: ¿cómo puedo solucionar esto?

No hay mención del tipo lastUpdated en mis POM.

Respuesta

6

Instalé Maven2 y ejecuté compilación mvn desde la línea de comandos. Esto parece haber resuelto el problema

+0

Compilar usando la línea de comando resolvió este problema para mí. Creo que esto podría ser un problema de m2eclipse. – TAN70

+0

Esto funcionó por completo en Maven 3. Gracias – SparkleGoat

+0

Ejecutando en Windows 7 Professional SP 1, en 2017, tuve problemas similares con el complemento Eclipse, y lo he abandonado en favor de la CLI, que ofrece informes mucho más completos y utilizables que puedo guardar, importar a Excel y generar todo tipo de informes útiles que cubran los paquetes faltantes, los archivos que no se descargaron, los POM y JAR sin emparejar y otras estadísticas útiles. –

1

es posible que tenga un problema con algunos de los artefactos que se recuperarán del repositorio. por ejemplo, Spring Framework tiene su propio repositorio. esta xtensión se agrega cuando el artefacto no se puede descargar por completo. agregue el repositorio spring framework a su pom o settings.xml, elimine la carpeta que incluye los frascos rotos y comience de nuevo

+0

De acuerdo. En lugar de un pom o jar válido, normalmente un pom o jar finaliza con un lastUpdate de solo 2k de tamaño, cuyo contenido es más parecido a un log de errores. Por lo general, es el resultado de "no se pudieron recopilar dependencias en ..." – Tiina

+0

Esa es una forma interesante de pensar en ellas; Siempre he pensado en ellos como entidades separadas (archivos lastupdated), en lugar de los JAR o POM sobre los que informan. De la misma manera, pienso en MyDotNetAssembly.exe.config como un tipo de archivo distinto de MyDotNetAssembly.exe. –

11

Como dijo rperez, utilizo para borrar todos esos archivos .lastUpdated. En Linux He creado un pequeño script para que sea sencillo :

find -name \*.lastUpdated -exec rm -fv {} + 

Basta con crear un archivo con el contenido anterior y lo puso en su repositorio local de Maven. Usualmente será ~/.m2/repository.

+1

en zsh: 'rm ~/.m2/repository/**/*. LastUpdated' – Dacav

+0

en powershell:' ls *.lastupdated -Recurse | rm' – rob

+0

También puede usar el indicador 'delete' de find para eliminar los archivos que encuentra, en lugar de' exec'ing 'rm' en los resultados. Por ejemplo, 'find ~/.m2 -name * .lastUpdated -delete' – spaaarky21

1

Si ve este problema y está utilizando Nexus, puede ser que tenga una regla de enrutamiento definida, que es incorrecta. Hice esto yo mismo y los archivos que estaba descargando fueron nombrados correctamente, en las URL-s correctas que estaba viendo, pero estaban todos con la extensión .lastUpdated y un mensaje de error como contenido.

34

Estos archivos indican a Maven que intentó obtener el archivo por descarga, pero no tuvo éxito. Para ahorrar ancho de banda, no intentará esto de nuevo hasta que haya transcurrido un cierto período de tiempo codificado en el archivo. El cambio de línea de comando -U obliga a maven a realizar la actualización antes del período de reintento. Esto puede ser necesario si intentó compilar mientras estaba desconectado de la red.

El método de eliminación de archivos funciona con la mayoría de las versiones de maven, pero dado que los archivos son recuerdos internos de maven, no recomendaría este método. No hay garantía de que esta información no esté referenciada o almacenada en otra parte y dicha manipulación puede dañar el sistema.

+0

Intenté mvn -U clean, pero no solucionó el problema. ¿Me estoy perdiendo de algo? – MiguelMunoz

Cuestiones relacionadas