920 Stimmen

Wie erzwingt man ein Maven-Update?

Ich habe mein bereits funktionierendes Projekt auf einen anderen Computer importiert, und es begann mit dem Herunterladen von Abhängigkeiten.

Anscheinend ist meine Internetverbindung zusammengebrochen, und jetzt erhalte ich folgende Meldung:

    >Build errors for comics; org.apache.maven.lifecycle.LifecycleExecutionException:
    Failed to execute goal on project comicsTest: Could not resolve dependencies for project comicsTest:comicsTest:war:0.0.1-SNAPSHOT:
    The following artifacts could not be resolved:
    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-annotations: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: Failure to transfer org.springframework:spring-context:jar:3.0.5.RELEASE from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced.

    >Original error: Could not transfer artifact org.springframework:spring-context:jar:3.0.5.RELEASE from central (http://repo1.maven.org/maven2): No response received after 60000

Wie zwinge ich Maven zu aktualisieren?

149voto

FuzzyJulz Punkte 2524

Wenn Ihr lokales Repository für Release-Jars im Gegensatz zu Snapshots nicht richtig funktioniert ( -U y --update-snapshots nur Snapshots aktualisieren), können Sie das lokale Repository wie folgt bereinigen:

 mvn dependency:purge-local-repository

Wahrscheinlich wollen Sie dann das System reinigen und neu 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

113voto

Ayush Gupta Punkte 5308

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

Wenn Sie eine einzelne Abhängigkeit ohne Clean oder -U können Sie es einfach aus Ihrem lokalen Repo entfernen und dann bauen.

Das folgende Beispiel bezieht sich auf die Aktualisierung slf4j-api 1.7.1-SNAPSHOT :

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

66voto

Robert Reiz Punkte 3718

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

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

Damit ist das Problem behoben :-)

46voto

Amit Shakya Punkte 1338

Sie können effektiv arbeiten von Eclipse IDE . Natürlich, wenn Sie es verwenden.

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

46voto

GlaIZier Punkte 765

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

mvn dependency:resolve -U

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X