2009-11-19 15 views
13

Estoy trabajando en un proyecto que usa Maven como herramienta de compilación. Estoy usando la versión 2.2.1 de la herramienta. Recientemente, un compañero de trabajo mencionó que no pudo construir el proyecto debido a errores de suma de comprobación. No recibía estos errores, así que eliminé mi repositorio local. Efectivamente, también recibí los errores de suma de comprobación en el siguiente intento de compilación. Estamos utilizando Archiva como nuestro repositorio central, así que volví a subir los frascos con la esperanza de resolver el problema. Sin suerte. ¿Qué podría estar causando estos errores y cómo los resuelvo?Maven checksum failed

Downloading: http://artifactory/archiva/repository/maven-repo/org/springframework/ws/spring- 
ws/1.5.8/spring-ws-1.5.8.pom 
427b downloaded (spring-ws-1.5.8.pom) 
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '14d6901e3f251f5d312b9be726c75a 
68f78045ac'; remote = '659bbed2c2dae12e9dbb65f8cad8fce1a1ea0845' - RETRYING 
Downloading: http://artifactory/archiva/repository/maven-repo/org/springframework/ws/spring- 
ws/1.5.8/spring-ws-1.5.8.pom 
427b downloaded (spring-ws-1.5.8.pom) 
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '14d6901e3f251f5d312b9be726c75a 
68f78045ac'; remote = '659bbed2c2dae12e9dbb65f8cad8fce1a1ea0845' - IGNORING 
Downloading: http://artifactory/archiva/repository/maven-repo/com/xyz/abc/3.0.20090929_ 
attachment_fixes/abc-3.0.20090929_attachment_fixes.pom 
435b downloaded (abc-3.0.20090929_attachment_fixes.pom) 

Respuesta

1

que eliminar manualmente los artefactos de Archiva y usados ​​Archiva de volver a cargarlos. Esto resolvió mi problema. Parecía haber POM, JAR, etc. duplicados en Archiva para las versiones que estaban dando los errores de suma de comprobación.

+1

Resuelve el problema, pero ¿por cuánto tiempo? ¿Encontraste que regresó o hiciste cambios adicionales a la configuración? –

3

¿trató de cambiar la suma de comprobación políticas en el proxy connector a 'solución' en lugar de 'ignorar '?

6

El problema parece residir en cómo el cliente maven está implementando artefactos en su depósito central (Archiva). Está usando HTTP y en ciertas situaciones corromperá la firma de la suma de comprobación del archivo.

trate de cambiar el archivo de configuración de Maven locales a ser algo como esto, que para mí estaba situada en ~/.m2/settings.xml

<settings> 
    <servers> 
    <server> 
     <id>my-server</id> 
     <configuration> 
     <httpConfiguration> 
      <put> 
      <params> 
       <param> 
       <name>http.authentication.preemptive</name> 
       <value>%b,true</value> 
       </param> 
      </params> 
      </put> 
     </httpConfiguration> 
     </configuration> 
    </server> 
    </servers> 
</settings> 

Después de realizar este cambio, vuelva a implementar los artefactos a tu repositorio central, entonces intente ejecutar mvn dependency:resolve en su proyecto local para ver si aún ocurren los errores de suma de comprobación.

Aquí hay un hilo sobre este problema: http://jira.codehaus.org/browse/MNG-4301

4

El resolver artefacto es (todavía, incluso en 3.0.4 aparentemente) no hilo de seguridad:

http://jira.codehaus.org/browse/MNG-4742

Intenta construir con:

-Dmaven.artifact.threads = 1

Cuando construyo con esta opción en 3.0.4 en un proyecto que muestra errores de suma de comprobación (para log4j), todos los errores de suma de comprobación desaparecen.

También debe aplicarse a 2.2.1.

(edit: presentar esta respuesta en 'ocultar falsos negativos')

0

Durante el uso de un solo hilo como se describe bu Rondo a continuación permitió la construcción completa sin errores, al final me encontré con que mi espacio de trabajo se corrompió. Posiblemente debido a una construcción interrumpida. Eliminé el espacio de trabajo y creé uno limpio del administrador de código fuente y todo funcionó bien de nuevo.