2009-11-19 11 views
13

Ich arbeite an einem Projekt, das Maven als Build-Tool verwendet. Ich verwende Version 2.2.1 des Tools. Kürzlich erwähnte ein Mitarbeiter, dass er das Projekt wegen Prüfsummenfehlern nicht bauen konnte. Ich habe diese Fehler nicht erhalten, deshalb habe ich mein lokales Repository gelöscht. Sicher genug, ich habe auch die Prüfsummenfehler beim nächsten Buildversuch bekommen. Wir verwenden Archiva als unser zentrales Repository, also habe ich die Gläser erneut hochgeladen, in der Hoffnung, das Problem zu lösen. Kein Glück. Was könnte diese Fehler verursachen und wie kann ich sie beheben?Maven Checksum fehlgeschlagen

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) 

Antwort

1

ich die Artefakte aus Archiva manuell gelöscht und verwendet Archiva sie wieder zu laden. Das hat mein Problem gelöst. Es gab anscheinend doppelte POMs, JARs usw. in Archiva für die Versionen, die die Prüfsummenfehler enthielten.

+1

Es löst das Problem, aber für wie lange? Hast du festgestellt, dass es zurückgegeben wurde oder hast du zusätzliche Änderungen am Pom oder den Einstellungen vorgenommen? –

3

Haben Sie versucht, die Checksum Politik in der proxy connector zu 'fix' statt 'ignorieren' von ändern?

6

Das Problem scheint darin zu liegen, wie der Maven-Client Artefakte in Ihr zentrales Repository (Archiva) implementiert. Es verwendet HTTP und in bestimmten Situationen wird die Prüfsummensignatur der Datei beschädigt.

Versuchen Sie, Ihre lokale Maven-Einstellungsdatei zu ändern, so etwas zu sehen, was für mich in ~/.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> 

entfernt wurde, nachdem Sie diese Änderung vornehmen, die Artefakte zu Ihrem zentralen Repo umschichten, dann versuchen mvn dependency:resolve zu laufen in Ihrem lokalen Projekt, um festzustellen, ob die Prüfsummenfehler weiterhin auftreten.

Hier ist ein Thread zu diesem Problem: http://jira.codehaus.org/browse/MNG-4301

4

Das Artefakt Resolver (noch, auch in 3.0.4 anscheinend) nicht Thread sicher:

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

versuchen Aufbau mit:

-Dmaven.artifact.threads = 1

Wenn ich mit dieser Option in 3.0.4 in einem Projekt baue, das Prüfsummenfehler anzeigt (für log4j), verschwinden alle Prüfsummenfehler.

Es sollte auch für 2.2.1 gelten.

(edit: Datei diese Antwort unter ‚versteckt falsche Negative‘)

0

Während ein einzelner Faden, wie bu unter Rondo der Build komplett ohne Fehler, am Ende ließ ich, dass mein Arbeitsplatz gefunden wurde beschädigt. Möglicherweise aufgrund eines unterbrochenen Builds. Ich habe den Arbeitsbereich ausgelöscht und einen sauberen aus dem Quellcode-Manager erstellt und alles hat wieder gut funktioniert.

Verwandte Themen