Erstellen Sie ein einfaches Projekt nur mit pom.xml. Fügen Sie Ihre Abhängigkeit hinzu und führen Sie Folgendes aus:
mvn dependency:tree
Leider muss das Abhängigkeits-Mojo pom.xml verwenden, sonst wird folgende Fehlermeldung angezeigt:
Mojo: tree kann nicht ausgeführt werden. Es erfordert ein Projekt mit einer vorhandenen pom.xml, aber der Build verwendet keine.
2) Finden Sie pom.xml Ihres Artefakts im zentralen Maven-Repository
Abhängigkeiten werden in pom.xml Ihres Artefakts beschrieben. Finden Sie es mithilfe der Maven-Infrastruktur.
Gehen Sie zu http://search.maven.org/ und geben Sie Ihre Gruppen-ID und Ihre Artefakt-ID ein.
Oder Sie gehen zu http://repo1.maven.org/maven2/ und navigieren zuerst mit den Plugins groupId, später mit artefaktId und schließlich mit der Version.
Siehe zum Beispiel org.springframework: spring-core
3) Verwenden Sie das Maven-Abhängigkeits-Plugin für Ihr Artefakt
Ein Teil des Abhängigkeitsartefakts ist eine pom.xml. Das gibt die Abhängigkeit an. Und Sie können mvn dependency: tree auf diesem pom ausführen .
pom.xml
Dateien) wird möglicherweise eine Fehlermeldung angezeigt. Versuchen Sie esmvn compile dependency:tree
dann.Wenn Sie ein Beispielprojekt erstellen und Ihre Abhängigkeit von Drittanbietern hinzufügen möchten, können Sie Folgendes ausführen, um die vollständige Hierarchie der Abhängigkeiten anzuzeigen.
Mit diesem Befehl können Sie nach einem bestimmten Artefakt suchen:
Laut Dokumentation:
Stellen Sie sich vor, Sie versuchen, die JAR-Datei 'log4j-1.2-api' in verschiedenen Modulen Ihres Projekts zu finden:
Weitere Informationen finden Sie hier .
Bearbeiten: Bitte beachten Sie, dass es trotz der Vorteile der Verwendung ausführlicher Parameter unter bestimmten Bedingungen möglicherweise nicht so genau ist. Weil es den Maven 2-Algorithmus verwendet und bei Verwendung mit Maven 3 möglicherweise falsche Ergebnisse liefert.
quelle
-Dverbose
war genug, um mir den vollen Baum zu zeigen, den ich brauchte. Das Weiterleiten der Ausgabe anless
oder ähnliches und das Durchführen einer Schnellsuche funktioniert hervorragend, wenn Sie sich nicht an dieincludes
Flagge erinnern können oder nicht den vollständigen oder Platzhalter bereitstellen möchtengroupId
:)[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:tree (default-cli): Goal requires a project to execute but there is no POM in this directory (...). Please verify you invoked Maven from the correct directory. -> [Help 1]
Die Lösung besteht darin, dependency: tree mit der Datei pom.xml des Artefakts aufzurufen:
Siehe auch Wie liste ich die transitiven Abhängigkeiten eines Artefakts aus einem Repository auf?
quelle
Wenn Sie eine aktuelle Version von m2eclipse verwenden (was Sie tun sollten, wenn Sie Eclipse und Maven verwenden):
Wählen Sie den Menüeintrag
Navigate -> Open Maven POM
und geben Sie das gesuchte Artefakt ein.
Der POM wird im POM-Editor geöffnet, auf dem Sie die Registerkarte auswählen können, um
Dependency Hierarchy
die Abhängigkeitshierarchie anzuzeigen (wie der Name schon sagt :-)).quelle
Wenn Ihr Artefakt keine Abhängigkeit von einem bestimmten Projekt ist, verwenden Sie am besten eine Repository-Suchmaschine . Viele von ihnen beschreiben die Abhängigkeiten eines bestimmten Artefakts.
quelle
Wenn Sie eine grafische, durchsuchbare Darstellung des Abhängigkeitsbaums erhalten möchten (einschließlich aller Module aus Ihrem Projekt, transitiver Abhängigkeiten und Räumungsinformationen), lesen Sie UpdateImpact: https://app.updateimpact.com (kostenloser Service).
Haftungsausschluss: Ich bin einer der Entwickler der Website
quelle
Ich weiß, dass dieser Beitrag ziemlich alt ist, aber wenn jemand, der IntelliJ verwendet , den Abhängigkeitsbaum direkt in der IDE sehen möchte, kann er das Maven Helper Plugin Plugin installieren .
Nach der Installation öffnen Sie pom.xml und Sie können die Registerkarte Abhängigkeitsanalyse wie unten sehen. Es bietet auch die Möglichkeit, Abhängigkeiten anzuzeigen, die nur in Konflikt stehen, und auch als Baumstruktur.
quelle