Warum dauert es so lange, bis Eclipse Maven-Abhängigkeiten aktualisiert hat?

73

Ich habe ein Maven-Projekt in meinem Eclipse-Arbeitsbereich. Wenn ich Eclipse starte, dauert das Aktualisieren der Maven-Abhängigkeiten sehr lange. Es scheint tatsächlich so, als würde es niemals fertig werden und während dieses Updates kann ich in Eclipse nichts tun.

Kann mir jemand helfen?

Tom
quelle
3
Löschen Sie Ihr lokales Maven-Repo? (.m2 / Repository)? Normalerweise aktualisiert Eclipse die Indizes des Repositorys. Übrigens: Was bedeutet lange? Protokoll?
Khmarbaise
3
Ich habe mein Maven-Repository nicht gelöscht. Lange Zeit bedeutet Stunden, mehrmals muss ich meine Sonnenfinsternis bis zum Ende des Prozesses beenden.
Tom
1
Gibt es eine Chance, dass das Schreiben in ~ / .m2 langsam ist (wie in, vielleicht befindet sich Ihr Home-Verzeichnis auf einem Netzlaufwerk - wie hier bei der Arbeit)?
schmmd
1
Meins dauert mehr als ein paar Stunden und ist bis jetzt noch nicht abgeschlossen. Mache ich etwas falsch?
Wong Jia Hau

Antworten:

21

Überprüfen Sie zunächst alle Ihre Abhängigkeiten, einschließlich Plugins und untergeordneter Elemente im Abhängigkeitsbaum, und
versuchen Sie, Snapshot-Versionen durch Release-Versionen zu ersetzen,
da Snapshot-Versionen immer nach einem späteren Update suchen, während
Release-Versionen als stabil gelten und Updates für das nicht erwartet werden gleiche Versionsnummer.

Zweitens würde ich unter der Annahme, dass Sie an einem LAN arbeiten, vorschlagen, dass Sie einen lokalen Maven-Repository-Manager wie Nexus installieren und dann Ihre Artefaktanforderungen umleiten, indem Sie
<mirrorOf>*</mirrorOf>in Ihrer Datei $ {user.home} /. M2 / settings.xml festlegen

Auf diese Weise können Ihre Downloads schnell über einen lokalen Spiegel aufgelöst werden, anstatt ständig nach Repositorys im Internet zu suchen.

Krone
quelle
89

Wenn dies beim Start von Eclipse geschieht, handelt es sich möglicherweise nicht um die Abhängigkeitsaktualisierung Ihres Projekts, sondern um die Aktualisierung des Maven-Repository-Index (wie in seinem Kommentar erwähnt).

Sie können dies hier deaktivieren: EinstellungenMavenRepository-Indexaktualisierungen beim Start herunterladen

Ein neuer Index bietet Ihnen eine aktuelle Liste der Abhängigkeiten, z. B. im Dialogfeld " Abhängigkeit hinzufügen". Ich habe jedoch festgestellt, dass dies funktioniert, wenn der Index in der Maven-Repositorys- Ansicht manuell (nach Bedarf) aktualisiert wird .

Update : Seit Eclipse Luna ist das Index-Update jetzt standardmäßig deaktiviert (siehe Bug404417 ).

FrVaBe
quelle
4

Sogar ich war damit konfrontiert, Maven-Abhängigkeiten beim Start von Eclipse und beim Auflegen von Eclipse zu aktualisieren. Ich habe festgestellt, dass für mein Arbeitsbereichsverzeichnis keine Berechtigung erforderlich ist (vollständige Berechtigung). Nachdem ich diese Berechtigung festgelegt hatte, wurde mein Problem behoben.

devcodecc
quelle
2

Haben Sie Eclipse so eingestellt, dass die lokale Kopie von Maven anstelle der integrierten verwendet wird? Ich habe festgestellt, dass das schneller geht. Stellen Sie außerdem sicher, dass Eclipse auf die lokale Kopie Ihrer Konfigurationsdatei verweist.

TrueDub
quelle
1

Wenn es nach dem Ausprobieren aller anderen Optionen immer noch lange dauert, erstellen Sie einen neuen Arbeitsbereich und verschieben Sie Ihre Projekte in den neuen Arbeitsbereich.

Hrishi Jimage
quelle
1

Wenn Sie einen Proxy für die Verbindung verwenden, überprüfen Sie in Ihrer settings.xml (D: \ apache-maven-3.3.3 \ conf), ob Sie den Benutzer / das Kennwort richtig eingestellt haben.

<proxies>
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>XXXX</username>
      <password>XXXX</password>
      <host>XXXX</host>
      <port>8080</port>
      <nonProxyHosts>XXXX</nonProxyHosts>
    </proxy>  
 </proxies>
Pichitron
quelle