2010-05-20 17 views
5

Kann man bei einem lokalen Maven-Repository das Remote-Repository bestimmen, das die Quelle einer bestimmten Abhängigkeit ist? Wie?Wie kann man den Ursprung einer gegebenen Maven-Abhängigkeit bestimmen?

+0

Warum benötigen Sie solche Informationen für SNAPSHOTS? –

+0

Zum Durchsuchen der POM-Dateien im Quellrepository und zum Anzeigen, ob ein Repository alle Abhängigkeiten in einer Abhängigkeitsgruppe enthält. Wenn Maven aus irgendeinem Grund keine Abhängigkeit in einem Repository findet, die ein Mitglied der Abhängigkeitsgruppe ist, aber alle anderen Abhängigkeiten in dieser Gruppe findet, wird Maven die fehlende Abhängigkeit von einem anderen Repository abrufen? –

Antwort

6

Wie von @Eugene erwähnt, wird der Ursprung einer Abhängigkeit nirgendwo gespeichert. Die einzige Möglichkeit, dies nach der Tat zu finden (wenn Sie nicht hinter einem Unternehmens-Repository sind) wäre, die Abhängigkeiten eines gegebenen zu bereinigen Projekt und um sie erneut zu lösen. Das folgende Ziel der Maven Dependency Plugin kann das tun:

mvn dependency:purge-local-repository -DreResolve=true 

Beachten Sie, dass reResolve auf true standardmäßig eingestellt ist, ich erwähnte es nur zu Dokumentationszwecken.

+0

Lädt dieser Befehl nur die Abhängigkeiten? –

+0

@Derek: Ja, es wird keine andere Phase oder Ziel führen. –

+0

Wie kann ich Maven sagen, die Nachrichten für Repositories zu unterdrücken, in denen es keine Abhängigkeit finden kann, während es diejenigen anzeigt, in denen es eine Abhängigkeit findet? (Das heißt, zeigen Sie die Treffer, aber nicht die Fehler sine die Misses übertönen und die Treffer verdunkeln.) –

1

Maven speichern solche Informationen nicht. Wenn Sie jedoch Ihr lokales Repository löschen und Ihren Projekt-Build ausführen, können Sie die tatsächliche Repository-URL sehen, wenn das Artefakt während des Maven-Builds heruntergeladen wird.

Wenn Sie jedoch Maven Repository Manager wie Nexus verwenden, können Sie Artefakte nach ID, Version usw. suchen und dann die Artefaktquelle in den Suchergebnissen sehen.

1

Sie können die Abhängigkeit von Ihrem lokalen Repository löschen und dann sehen, wo es bei Ihrem nächsten Build abgerufen wird.

+0

Mit welchem ​​Maven-Befehl können Sie nur Abhängigkeiten herunterladen, aber sonst nicht die Ziele erstellen? –

Verwandte Themen