webentwicklung-frage-antwort-db.com.de

Maven-Downloads haben die Erweiterung .lastUpdated

Ich habe ein Eclipse-Setup mit m2Eclipse und subversive. Ich habe ein Maven2-Projekt aus SVN importiert. Ich erhalte jedoch die Fehlermeldung, dass eine Reihe von Artefakten fehlen (zum Beispiel: Fehlendes Artefakt org.springframework: spring-test: jar: 3.0.1.RELEASE: test). 

Wenn ich in meinem Repository nachschaue, sehe ich die JAR-Dateien dort, aber sie haben eine zusätzliche Erweiterung .lastUpdated. Warum hängt maven .lastUpdated an die Gläser an? Und noch wichtiger: wie kann ich das beheben? 

In meinen POMs wird der Typ lastUpdated nicht erwähnt. 

59
user303158

Diese Dateien zeigen Maven an, dass es versucht hat, das Archiv per Download abzurufen, war jedoch nicht erfolgreich. Um Bandbreite zu sparen, wird dies erst nach Ablauf einer bestimmten Zeit in der Datei wiederholt. Der Befehlszeilenschalter -U erzwingt die Durchführung der Aktualisierung vor dem Wiederholungszeitraum. Dies kann erforderlich sein, wenn Sie versucht haben, zu bauen, während Sie vom Netzwerk getrennt wurden.

Die Methode zum Entfernen der Dateien funktioniert mit den meisten Versionen von Maven, aber da die Dateien interne Erinnerungsobjekte für Maven sind, würde ich diese Methode nicht empfehlen. Es gibt keine Garantie dafür, dass diese Informationen nicht an anderer Stelle referenziert werden oder anderweitig aufbewahrt werden. Eine solche Manipulation kann das System beschädigen.

42
Jörn Guy Süß

Wie rperez sagte, verwende ich alle diese .lastUpdated-Dateien. In Linux habe ich ein kleines Skript erstellt, um halte es einfach:

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

Erstellen Sie einfach eine Datei mit dem vorherigen Inhalt und legen Sie sie in Ihrem lokalen Maven-Repository ab. Normalerweise wird es ~/.m2/repository sein.

10
Rubens Mariuzzo

Ich habe Maven2 installiert und mvn compile von der Kommandozeile aus ausgeführt. Dies scheint das Problem gelöst zu haben 

6
user303158

Wenn dieses Problem auftritt und Sie Nexus verwenden, ist möglicherweise eine Routing-Regel definiert, die falsch ist. Ich traf das selbst und die Dateien, die es herunterlud, waren richtig benannt, und zwar unter den richtigen URLs, aber es waren alle mit der Erweiterung .lastUpdated und einer Fehlermeldung als Inhalt. 

2
carlspring

sie haben möglicherweise ein Problem mit einigen der Artefakte, die aus dem Repository abgerufen werden sollen. Spring Framework hat beispielsweise ein eigenes Repository. Diese Erweiterung wird angehängt, wenn das Artefakt nicht vollständig heruntergeladen werden kann. Fügen Sie das Frühlings-Framework-Repository zu pom oder settings.xml hinzu, löschen Sie den Ordner mit den defekten Gläsern und beginnen Sie erneut

1
rperez

Öffnen Sie Ihr Terminal, navigieren Sie zum Projektverzeichnis Ihrer Eclipse und führen Sie Folgendes aus:

mvn install

Wenn mvn install Ihre Abhängigkeiten nicht aktualisiert, rufen Sie es mit einem Schalter auf, um die Aktualisierung zu erzwingen:

mvn install -U

Dies ist viel sicherer als das Manipulieren von Maven-Dateien, wenn Sie ".lastUpdated" löschen.

0
Edward Quixote