it-swarm.com.de

Maven Update erzwingen

Ich habe mein Arbeitsprojekt auf einen anderen Computer importiert, damit Abhängigkeiten heruntergeladen werden können.

Anscheinend ist in der Zwischenzeit meine Internetverbindung abgestürzt. Jetzt bekomme ich:

Erstelle Fehler für Comics; org.Apache.maven.lifecycle.LifecycleExecutionException: Ziel für Projekt-Comics konnte nicht ausgeführt werdenTest: Abhängigkeiten für Projekt-Comics konnten nicht aufgelöst werdenTest: ComicsTest: war: 0.0.1-SNAPSHOT: Die folgenden Artefakte konnten nicht aufgelöst werden: org.springframework: spring- context: jar: 3.0.5.RELEASE, org.hibernate: hibernate-entitymanager: jar: 3.6.0.Final, org.hibernate: hibernate-core: jar: 3.6.0.Final, org.hibernate: hibernate-commons- Anmerkungen: jar: 3.2.0.Final, org.aspectj: aspectjweaver: jar: 1.6.8, commons-lang: commons-lang: jar: 2.5,

mysql: mysql-connector-Java: jar: 5.1.13: Fehler beim Übertragen von org.springframework: spring-context: jar: 3.0.5.RELEASE von http://repo1.maven.org/maven2 = Wurde im lokalen Repository zwischengespeichert, wird die Auflösung erst nach Ablauf des Aktualisierungsintervalls von Central erneut versucht oder Aktualisierungen werden erzwungen.

Ursprünglicher Fehler: Artefakt konnte nicht übertragen werden org.springframework: spring-context: jar: 3.0.5.RELEASE from central ( http://repo1.maven.org/maven2 ): Nach 60000 ist keine Antwort eingegangen

Und ich habe keine Ahnung, wie ich Maven zum Update zwingen soll?

653
M4ks
mvn clean install -U

-U bedeutet Aktualisierung von Snapshot Abhängigkeiten erzwingen. Release-Abhängigkeiten können auf diese Weise nicht aktualisiert werden.

1476
lwpro2

-U scheint die Aktualisierung aller Abhängigkeiten zu erzwingen.

Wenn Sie eine einzelne Abhängigkeit ohne Bereinigung oder -U aktualisieren möchten, können Sie sie einfach aus Ihrem lokalen Repository entfernen und dann erstellen.

Das folgende Beispiel für die Aktualisierung von slf4j-api 1.7.1-SNAPSHOT:

rm -rf ~/.m2/repository/org/slf4j/slf4j-api/1.7.1-SNAPSHOT
mvn compile
82
Ayush Gupta

Wenn Ihr lokales Repository im Gegensatz zu Snapshots (-U und --update-snapshots aktualisieren nur Snapshots) irgendwie für Release-JARs überlastet ist, können Sie das lokale Repository folgendermaßen bereinigen:

 mvn dependency:purge-local-repository

Wahrscheinlich möchten Sie dann bereinigen und erneut installieren:

 mvn dependency:purge-local-repository clean install

Viele weitere Informationen finden Sie unter https://maven.Apache.org/plugins/maven-dependency-plugin/examples/purging-local-repository.html

72
FuzzyJulz

Alle Antworten hier haben bei mir nicht funktioniert. Ich habe die Hammermethode benutzt:

find ~/.m2/ -name "*.lastUpdated" | xargs rm

Das hat das Problem behoben :-)

50
Robert Reiz

Sie können dies effektiv mit Eclipse IDE tun. Natürlich, wenn Sie es benutzen.

Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases
42
Amit Shakya

Nur für den Fall, dass jemand nur die Snapshot-Abhängigkeiten des Projekts aktualisieren und keine Artefakte installieren möchte:

mvn dependency:resolve -U

Vergessen Sie nicht, Abhängigkeiten in Ihre IDE neu zu importieren. In IDEA müssen Sie mit der rechten Maustaste auf die POM-Datei klicken und Maven -> Reimport wählen

23
GlaIZier

Wenn Sie sich nicht sicher sind, was sich in Ihrem lokalen Repository befindet, empfehle ich, einen Build mit der folgenden Option auszulösen:

-Dmaven.repo.local=localrepo

Auf diese Weise stellen Sie sicher, dass in einer Reinraumumgebung gebaut wird.

11
merejy

In meinem ersten Fall war ich:

mvn clean install -U

Trotzdem zeigte es den gleichen Fehler, als ich das Projekt schloss und es erneut öffnete. Endlich hat es geklappt.

7
rajeev

Wenn Sie Eclipse IDE verwenden, dann:

  • Wählen Sie Projekt.
  • Drücken Sie die Tastenkombination Alt + F5. Das Fenster zum Aktualisieren von Maven Project wird geöffnet.

  • Aktivieren Sie - Aktualisierung von Snapshots/Releases erzwingen und klicken Sie auf OK.

Bei Verwendung von Intellij IDE

  • gehe zu Einstellungen/Maven
  • aktivieren Sie Immer Snapshots aktualisieren
4
patidarsnju

Sie müssen Ihre settings.xml-Datei im Verzeichnis <maven_home>/conf überprüfen.

2
Ashish Nariyal

Dies ist eines der nervigsten Dinge an Maven. Für mich geschieht Folgendes: Wenn ich eine Abhängigkeit hinzufüge, die mehr und mehr Abhängigkeiten anfordert, aber eine langsame Verbindung hat, kommt es beim Herunterladen und Zeitlimitüberschreiten zum Stillstand. Während der Zeitüberschreitung werden alle noch nicht abgerufenen Abhängigkeiten mit Platzhaltern im .m2-Cache markiert, und Maven wird sie (niemals) abholen, es sei denn, ich entferne den Platzhaltereintrag aus dem Cache (wie bereits erwähnt), indem ich ihn entferne.

Soweit ich das sehe, hat Maven oder genauer gesagt das Eclipse Maven Plugin einen Fehler in dieser Hinsicht. Jemand sollte das melden.

2
Martin Kersten

Ich habe den Fehler in einem anderen Kontext. Daher könnte meine Lösung für andere nützlich sein, die über die Frage stolpern:

Das Problem: Ich habe das lokale Repository auf einen anderen Computer kopiert, der keine Verbindung zu einem speziellen Repository hat. Also hat maven versucht, die Artefakte mit dem ungültigen Repository abzugleichen.

Meine Lösung: Entfernen Sie die _maven.repositories-Dateien.

2
Matthias M

So beheben Sie dieses Problem in Eclipse:

1) Fügen Sie die folgende Abhängigkeit in Maven pom.xml hinzu und speichern Sie die Datei pom.xml.

<!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream -->
<dependency>
    <groupId>com.thoughtworks.xstream</groupId>
    <artifactId>xstream</artifactId>
    <version>1.3.1</version>
</dependency>

2) Gehen Sie zu Projekt >> Maven >> Projekt aktualisieren

wählen Sie das Projekt aus und klicken Sie auf OK.

3) Optionaler Schritt: Wenn der Fehler erst in Schritt 2 behoben wurde, führen Sie nach Schritt 1 die folgenden Schritte aus

Gehe zum Projekt >> Maven >> Update Project >> aktiviere das Kontrollkästchen 'Force Update of Snapshots/Releases'

wählen Sie das Projekt aus und klicken Sie auf OK.

1
Tarun11

Ich habe den gleichen Fehler mit Android-Maps-Utils-Abhängigkeit. Die Verwendung eines Pakets vom Typ aar im Abschnitt "Abhängigkeiten" löst mein Problem. Standardmäßig ist der Typ jar, daher wird möglicherweise überprüft, welche Art von Abhängigkeit im Repository heruntergeladen wird.

1
zhen_khokh

-U wird verwendet, um die Aktualisierung von maven Repo zu erzwingen. Verwenden

mvn -U clean install
0
Sanjeev Guglani

Was maven macht, ist, dass es alle Abhängigkeiten Ihres Projekts in Ihr lokales Repository (.m2-Ordner) herunterlädt. Aufgrund des Internets, das Probleme mit Ihrem lokalen Repo verursacht, ist Ihr Projekt mit Problemen konfrontiert. Ich bin mir nicht sicher, ob dies Ihnen sicherlich helfen wird oder nicht, aber Sie können versuchen, alle Dateien im Repository-Ordner im Ordner .m2 zu löschen. Da das lokale Repo nichts enthalten würde, müsste maven die Abhängigkeiten erneut herunterladen, um ein Update zu erzwingen. Im Allgemeinen befindet sich der Ordner .m2 unter c: users: [Benutzername] :. m2

0
Ketan R

Es ist wichtig hinzuzufügen, dass der Hauptunterschied beim Ausführen von mvnmit - und ohne - darin besteht, dass -U Ihre lokalen SNAPSHOT-Gläser mit überschreibt Remote-SNAPSHOT-Gläser.

Lokale SNAPSHOT-JARS, die aus lokalem mvn install erstellt wurden, wenn Sie andere Module Ihres Projekts haben, die JARS generieren.

0
Johnny

Ich habe hier alle Antworten ausprobiert, aber nichts schien zu funktionieren. Meinen Computer zuerst neu gestartet und dann mvn clean install -U ausgeführt. Das hat mein Problem gelöst.

0
Gelo