Maven findet eine Abhängigkeit nicht? Meist fehlt das Repository, ein Proxy blockt, oder ein halb geladenes Paket verstopft den Cache.
Aufwand:
ca. 25 Min.
Das Symptom
Ein Maven-Build bricht ab mit Could not resolve dependencies oder Failed to collect dependencies, gefolgt von einem konkreten Paketnamen. Auf einem anderen
Rechner oder im Firmennetz lief derselbe Build eben noch, oder er scheitert
ausgerechnet beim ersten Aufsetzen einer neuen Umgebung.
Die „Layer 8“-Wahrheit
Maven baut ein Projekt nicht aus dem Nichts, sondern lädt Dutzende Bausteine —
Bibliotheken — aus Repositories im Netz und legt sie in einem lokalen Zwischenlager
ab. Der Fehler bedeutet schlicht: Einen dieser Bausteine hat Maven nicht bekommen.
Die Kunst ist, herauszufinden, an welcher Station der Lieferkette es hakt, denn die
Meldung sieht immer gleich aus, egal ob der Name falsch, der Weg blockiert oder das
Lager verstopft ist.
Drei Ursachen decken die meisten Fälle ab. Erstens ein Tippfehler in den Koordinaten
der Abhängigkeit — die triviale, aber häufige Variante. Zweitens ein beschädigter
lokaler Cache, in dem ein abgebrochener Download als halbe Datei jeden neuen Versuch
vergiftet; ein erzwungenes Neuladen räumt das auf. Und drittens, gerade in
Firmennetzen, ein Proxy oder interner Spiegelserver, der in der settings.xml fehlt
oder falsch steht. Wer diese drei der Reihe nach abklopft, findet die verstopfte
Stelle fast immer.
Die echte, verifizierte Lösung
1000 % faktenbasiert. Jeder Befehl ist real, jeder Pfad existiert. Schritt für Schritt:
1.
Die genaue fehlende Abhängigkeit lesen
Die Meldung nennt das konkrete Paket samt Gruppen-, Artefakt- und Versionsnummer, das nicht gefunden wurde. Zuerst prüfen, ob diese Koordinaten in der pom.xml korrekt geschrieben sind — ein Tippfehler in der Version ist eine häufige und banale Ursache.
2.
Den beschädigten lokalen Cache bereinigen
Ein abgebrochener Download hinterlässt im lokalen Maven-Verzeichnis eine halbe Datei, die jeden weiteren Versuch scheitern lässt. Den erneuten Download der betroffenen Abhängigkeiten erzwingen:
mvn -U clean install
3.
Firmen-Proxy und Spiegelserver prüfen
Hinter einem Firmennetz erreicht Maven das öffentliche Repository oft nur über einen Proxy oder einen internen Spiegelserver. Ist er in der settings.xml nicht oder falsch eingetragen, findet Maven nichts. Die Proxy- und Mirror-Einträge kontrollieren.
4.
Fehlende Repositories ergänzen
Manche Abhängigkeiten liegen nicht im Standard-Repository, sondern in einem gesonderten. Fehlt dessen Adresse in der pom.xml oder der settings.xml, kann Maven das Paket nicht kennen. Das passende Repository ergänzen.
5.
Netzwerk und Erreichbarkeit sicherstellen
Eine simple, aber übersehene Ursache: keine oder eine gesperrte Internetverbindung. Prüfen, ob der Repository-Server überhaupt erreichbar ist, bevor man tiefer in der Konfiguration sucht.
Häufige Fragen (FAQ)
?Der Build lief gestern noch, heute findet Maven eine Abhängigkeit nicht. Wie kann das sein?
Häufig durch einen beschädigten lokalen Cache. Bricht ein Download ab, bleibt eine unvollständige Datei im Verzeichnis .m2 zurück – Maven hält sie für gültig und scheitert daran. Das Löschen des betroffenen Ordners im lokalen Repository zwingt Maven, sie sauber neu zu laden.
?Im Firmennetz schlägt jeder Build fehl. Woran liegt das?
Meist am Proxy oder am internen Spiegelserver. Maven muss wissen, über welchen Weg es nach draußen darf – ohne passende settings.xml läuft jeder Abruf ins Leere. Zweiter Kandidat: Der interne Spiegel kennt das benötigte Repository nicht und liefert deshalb schlicht nichts.
Belege
Diese Seite ist gegen die folgenden Primärquellen geprüft – Hersteller, Standard oder Gesetzestext. Wer es nicht glaubt, muss es nicht: Da steht, wo es nachzulesen ist.