Maven-Fehler "Fehler beim Übertragen ..."

285

Ich versuche, ein Projekt mit Maven (m2eclipse) einzurichten, erhalte jedoch in Eclipse den folgenden Fehler:

Beschreibung Ressourcenpfad Standorttyp Build-Plan konnte nicht berechnet werden: Fehler beim Übertragen von org.apache.maven.plugins: maven-compiler-plugin: pom: 2.0.2 von http://repo1.maven.org/maven2 wurde lokal zwischengespeichert Im Repository wird die Auflösung erst erneut versucht, wenn das Aktualisierungsintervall von Central abgelaufen ist oder Aktualisierungen erzwungen werden. Ursprünglicher Fehler: Artefakt org.apache.maven.plugins konnte nicht übertragen werden: maven-compiler-plugin: pom: 2.0.2 von / nach central ( http://repo1.maven.org/maven2 ): Nach 60000 ExampleProject wurde keine Antwort empfangen Unbekanntes Maven-Problem

Irgendwelche Ideen? Es wäre hilfreich, wenn Sie mir zeigen könnten, wie Sie überprüfen können, ob alles in Ordnung ist ...

Deepak Joy
quelle

Antworten:

718

Entfernen Sie alle fehlgeschlagenen Downloads:

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;

Für Windows:

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i

Klicken Sie dann mit der rechten Maustaste auf Ihr Projekt in Eclipse und wählen Sie Maven -> "Projekt aktualisieren ...". Stellen Sie sicher, dass im daraufhin angezeigten Dialogfeld "Abhängigkeiten aktualisieren" aktiviert ist, und klicken Sie auf "OK".

Jonas Andersson
quelle
6
In Windows habe ich im Explorer-Dialogfeld nach * .lastUpdated in% USERPROFILE% \. M2 gesucht und dann die Dateien gelöscht, die Eclipse als problematisch gemeldet hat. Arbeitete ein Vergnügen! Ich bin sicher, Sie könnten es mit findstr oder ähnlichem tun, aber die GUI hat funktioniert.
Mark McDonald
4
In Windows habe ich einen Windows Explorer aufgerufen und mit der rechten Maustaste auf .m2 -> Suchen .... geklickt. Ich habe * .lastUpdated in den Dateinamen und "Konnte nicht übertragen werden" in das Textfeld "Ein Wort oder eine Phrase in der Datei" eingefügt.
Rajah9
4
In Windows befinden sich diese Dateien im Inneren <user-dir>/.m2/repository/org/example/myTool/1.01(Sie sehen den Trick). Löschen Sie sie einfach *.lastUpdatedvon Hand und aktualisieren Sie die Abhängigkeiten.
Cedric Reichenbach
2
Unter Eclipse Luna (4.4 Meilenstein) unter Windows stellte ich fest, dass ich nach dem Löschen von * .lastUpdated auch m2eclipse veranlassen musste, das lokale Repository neu zu indizieren (über Eclipse-> Fenster-> Einstellungen-> Maven-> Benutzereinstellungen: Lokales Repository: Reindex).
GB96
2
Nachdem ich stundenlang an meinen Haaren gezogen hatte ... endlich funktionierte diese Lösung für mich in Eclipse Neon ... Danke
Tayab Hussain
71

Dies funktionierte auch bei Windows.

  1. Suchen Sie das Repository {user} /. M2 / (hier Juno / Win7 verwenden)
  2. Geben Sie im Suchfeld oben rechts im Fenster ".lastupdated" ein. Windows durchsucht alle Unterordner nach diesen Dateien im Verzeichnis. (Ich habe nicht durch den Cache geschaut.)
  3. Entfernen Sie sie, indem Sie mit der rechten Maustaste auf> Löschen klicken (ich habe alle lastupdated.properties beibehalten).
  4. Gehen Sie dann zurück zu Eclipse, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Maven> Projekt aktualisieren. Ich habe "Update von Snapshots / Releases erzwingen" ausgewählt. Klicken Sie auf OK und die Abhängigkeiten werden endgültig korrekt aufgelöst.
iowatiger08
quelle
1
Außerdem wurde festgestellt, dass Bibliotheken, die falsche Verweise (Syntax oder Versionsnummer) auf Bibliotheken haben, nicht heruntergeladen werden. Verwenden Sie das Online-Repository-Suchtool von Maven, um sicherzustellen, dass Sie die Bibliotheken in Ihrer pom.xml korrekt referenzieren.
iowatiger08
Dies funktionierte für Windows. Vielen Dank Alter! Aber dieses Problem tritt manchmal erneut auf. Haben wir eine dauerhafte Lösung?
LINGS
@ iowatiger08 Was passiert, wenn ich auch die Dateien lastupdated.properties entferne?
Garg10Mai
@ garg10may Ich glaube nicht, dass das Entfernen eine große Sache wäre, da Maven sie beim nächsten "Update" neu bevölkern wird.
iowatiger08
@ iowatiger08, Es gibt Fehler, wenn ich eine Version wie <version> [1.0.0,2.0.0) </ version> in meiner pom-Datei verwende, aber ich ändere die Version auf 1.6.10, die Fehler sind verschwunden. Warum passiert das?
Gfan
32

In Eclipse: Klicken Sie mit der rechten Maustaste auf das Projekt-> Maven-> Projekt aktualisieren-> Aktivieren Sie das Kontrollkästchen "Aktualisierung von Snapshots / Releases erzwingen". OK klicken.

Zhenya
quelle
17

Vielen Dank für die Antworten, aber nach einigen weiteren Suchen konnte ich das Problem beheben. Es stellte sich heraus, dass ich eines der "* .lastUpdated" entfernen musste, das die Aktualisierung eines meiner Plugins (Maven Surefire Plugin) verhinderte. Ich habe das manuell gemacht, weil ein Maven Clean es anscheinend nicht gemacht hat.

Das Problem war, dass die Datei "* .lastUpdated" für ein Plugin die Maven-Überprüfung auf Updates blockierte und nicht zuließ, dass ein erforderliches JAR heruntergeladen wurde.

Deepak Joy
quelle
4
Vielleicht ist es offensichtlich, aber ich möchte nur hinzufügen: Nachdem man manuell nach der angegebenen * .lastUpdated-Datei im Maven-Repository gesucht hat (in meinem Fall todsichere) und sie gelöscht hat, muss man das Projekt in Eclipse bereinigen.
Superjos
15

Versuchen Sie auszuführen

mvn -U clean

oder Ausführen> Maven Clean und Maven> Snapshots aus dem Projektkontextmenü in Eclipse aktualisieren

Lev Khomich
quelle
9

In meinem Fall. Das Problem ist der gleiche Grund. Ich sehe das Problem auf Proxy und Firewall.

Hier meine Lösung
Fisrt Möglichkeiten:
1. Proxy für Maven und Eclipse installieren
2. Gehen Sie zu Suchen Sie das {user} /. M2 / Repository und entfernen Sie alle * .lastupdated Dateien
3. Gehen Sie zurück zu Eclipse, klicken Sie mit der rechten Maustaste auf das Projekt und Wählen Sie Maven> Projekt aktualisieren. > Wählen Sie "Aktualisierung von Snapshots / Releases erzwingen".

Wenn das Projekt noch vorhanden ist Fehler. Beispiel: Hier sind meine Probleme nach dem obigen Schritt

Failure to transfer org.apache.maven:maven-archiver:pom:2.5 from https://repo.maven.apache.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.apache.maven:maven-archiver:pom:2.5 from/to central (https://repo.maven.apache.org/maven2): Connect timed out

Ich benutze diese Lösung nützlich für mich:
1. Finden Repository in https://mvnrepository.com/
2. Kopieren Abhängigkeit meiner * .poml
Projektbeispiel

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-archiver</artifactId>
    <version>2.5</version>
</dependency>


3. Projekt erstellen. Die fehlende Abhängigkeit wird in das lokale Repository heruntergeladen.
4. Gehen Sie zurück zu Eclipse, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Maven> Projekt aktualisieren. > Wählen Sie "Aktualisierung von Snapshots / Releases erzwingen".
= >> Fehler behoben.
5. Ich entferne Abhängigkeiten in Schritt 2, nachdem ich fertig und behoben bin. Getan

huan le
quelle
7

Dies funktionierte bei mir in Windows:

  1. Suchen Sie die {user}/.m2/repository
  2. Geben Sie im Suchfeld oben rechts im Fenster ".lastupdated " ein. Windows durchsucht alle Unterordner nach diesen Dateien im Verzeichnis.
  3. Entfernen Sie alle .lastupdated Dateien.
  4. Gehen Sie zurück zu Eclipse, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Maven > Update Project .
  5. Wählen "Force Update of Snapshots/Releases ".
  6. Klicken Sie auf OK und die Abhängigkeiten werden endgültig korrekt aufgelöst.
sumeet kumar
quelle
6

Es ist mir passiert, als ich hinter einer Firewall bin. Die Abhängigkeiten werden manchmal nicht heruntergeladen, wenn Sie in Eclipse IDE ausgeführt werden. Stellen Sie sicher, dass Sie verwenden mvn clean install -U, um das Problem zu beheben. Danach werden die Abhängigkeiten heruntergeladen.

Kran
quelle
Sobald Sie dies auf Ihrem Terminal getan haben, gehen Sie zu Eclipse, wählen Sie Projekt und "Projekt aktualisieren". Dies sollte das Problem lösen, ohne die Schwierigkeit einzuführen, ".lastUpdated" zu finden und zu löschen.
Edward Quijote
5

Wenn Sie sich hinter einem Proxy befinden, müssen Sie die Datei settings.xml aktualisieren (im Ordner conf Ihres MAVEN_HOME enthält die Datei selbst Informationen zu den Proxyeinstellungen). Außerdem müssen Sie möglicherweise Ihre Eclipse-Netzwerkeinstellungen aktualisieren (Fenster-> Einstellungen ...-> Typ Netzwerkverbindungen).

Versuchen Sie, -X oder --debug zu verwenden, um die Debug-Ausgabe zu erhalten. Dies kann zusätzliche Informationen zum Problem liefern.

Abel Morelos
quelle
3

Ich hatte ein ähnliches Problem in Eclipse 3.6 mit m2eclipse.

Build-Plan konnte nicht berechnet werden: Fehler beim Übertragen von org.apache.maven.plugins: maven-resources-plugin: jar: 2.4.3 von http://repo1.maven.org/maven2 wurde im lokalen Repository zwischengespeichert, die Auflösung jedoch nicht erneut versucht werden, bis das Aktualisierungsintervall von Central abgelaufen ist oder Aktualisierungen erzwungen werden. Ursprünglicher Fehler: Artefakt org.apache.maven.plugins konnte nicht übertragen werden: maven-resources-plugin: jar: 2.4.3 von central (http://repo1.maven.org/maven2): ConnectException project1 Unbekanntes Maven-Problem

Das Löschen aller maven * .lastUpdated-Dateien aus meinem lokalen Repository (wie von Deepak Joy vorgeschlagen) löste dieses Problem.

Luki
quelle
2

Ich hatte ein ähnliches Problem mit nur wenigen Projekten in meinem Arbeitsbereich. Andere Projekte mit nahezu identischen POMs hatten überhaupt keinen Fehler. Keine der anderen aufgeführten Antworten hat mein Problem behoben. Ich stolperte schließlich über das Entfernen / erneute Anwenden der Maven-Natur für jedes Projekt und die Fehler verschwanden:

Für jedes Projekt, das einen Pom mit der Meldung "Auflösung wird nicht erneut versucht ..." hat:

  1. Klicken Sie mit der rechten Maustaste auf das Projekt in Eclipse und wählen Sie Maven -> Maven Nature deaktivieren
  2. Klicken Sie in Eclipse mit der rechten Maustaste auf das Projekt und wählen Sie Konfigurieren -> In Maven-Projekt konvertieren
smith.gt
quelle
2

Es ist mir auch passiert, dass Sie vielleicht zwei Lösungen dafür haben

  1. Wenn Ihr Projekt aus einer externen oder projektspezifischen Abhängigkeit besteht, müssen Sie es manuell zu Ihrem M2- Repo-Ordner hinzufügen, der sich im Ordner C: \ Users \ Mohit.Singh.m2 \ repository befindet, und dann mvn eclipse ausführen : Eclipse und dann MVN Clean Install aus dem Projektordner

  2. Wenn Sie keine wxternale oder projektspezifische Abhängigkeit haben, können Sie das Projekt als in Eclipse importieren vorhandenes Maven- Klicken Sie dann mit der rechten Maustaste auf Projekt -> Gehe zu Maven -> Klicken Sie auf Projekt aktualisieren. Ein Fenster wird angezeigt. Überprüfen Sie den Download des erzwungenen Snapshots Option und klicken Sie auf OK

Mohit Singh
quelle
2

Geben Sie in Eclipse den korrekten Pfad maven settings.xml an.

  • Windows -> Einstellungen -> Maven -> Benutzereinstellungen

Geben Sie den korrekten Pfad settings.xml in das Textfeld Benutzereinstellungen ein

HansiRadhakrishnan
quelle
Fügen Sie Maven-Installation auch in Eclipse Maven-Einstellungen hinzu
Gunwant
1

Löschen Sie einfach den Archetyp in maven local repository. Wie oben erwähnt, geschieht dies bei fehlgeschlagenen Archetyp-Downloads.

Pravat Panda
quelle
1

Für mich habe ich gerade den folgenden XML-Code in die Datei POM.xml eingefügt. Und nachdem ich ** mit der rechten Maustaste in das Projekt -> Maven -> Projekt aktualisieren geklickt habe und die Option Aktualisierung von Snapshots / Releases erzwingen ** aktiviert habe, hat alles funktioniert

    <dependencies>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/jstl/jstl -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
Lamine BA
quelle
0

settings.xml für Proxy? und in Eclipse gibt es Maven Global \ Local-Profil, fügen Sie die settings.xml hinzu

Roi
quelle
2
Können Sie Ihre Antwort bearbeiten und weitere Details hinzufügen? Geben Sie ein Beispiel dafür, was hinzugefügt werden soll settings.xmlund wo es zu finden ist. Denken Sie auch daran, dass diese Frage 10 Monate alt ist.
Brigand
0

Sie können den Ordner .m2 selbst löschen und MyEclipse zwingen, beim Start alle Abhängigkeiten erneut herunterzuladen. Gehen Sie zu Fenster> Einstellungen> MyEclipse> Maven4MyEclipse.

R Tiwari
quelle
0
  • Der oben genannte Fehler trat auf, weil das 'Maven-Compiler-Plugin 2.0.2' aus dem Maven-Repository entfernt wurde.
  • Für mich wird der oben genannte Fehler behoben, wenn ich das 'Maven-Compiler-Plugin' auf die Version 2.0 oder 2.0.1 herunterstufte.
Avinash Pande
quelle
-1

Die Lösung, die für mich funktioniert, ist die folgende:

  1. Kopieren Sie die Abhängigkeit nach pom.

    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>2.5</version>
    </dependency>
  2. Klicken Sie rechts auf Ihr Projekt

  3. Wählen Sie Maven
  4. Wählen Sie Projekt aktualisieren
  5. Wählen Sie Update von Snapshots / Releases erzwingen
Jorge Santos Neill
quelle
-2

Stellen Sie sicher, dass die Datei settings.XML im Ordner .m2 zuerst gültig ist. Anschließend bereinigen Sie das Repository mit dem folgenden Befehl in cmd

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i
dush88c
quelle