Woher weiß ich in Maven 2, aus welcher Abhängigkeit eine transitive Abhängigkeit stammt?

97

Ich möchte wissen, welche in meiner pom.xml beschriebene Abhängigkeit eine transitive Abhängigkeit in mein Zielverzeichnis bringt.

Genauer gesagt habe ich die Bibliothek "poi-2.5.1-final-20040804.jar" in meinem Verzeichnis WEB-INF / lib und möchte wissen, welche Abhängigkeit in meiner pom.xml das bringt.

Paulgreg
quelle

Antworten:

132

Um @David Crow hinzuzufügen, hier ein Beispiel für eine Abhängigkeit: Baum von der Maven-Site:

mvn dependency:tree -Dincludes=velocity:velocity

könnte ausgeben

[INFO] [dependency:tree]
[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT
[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile
[INFO]    \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
[INFO]       \- velocity:velocity:jar:1.4:compile
A. Rex
quelle
1
Das hat bei mir nicht funktioniert; Alles, was ich bekam, waren Fehler über nicht unterstützte "Legacy" -Werte. Das Ausführen der Version von @David Crow (dh ohne das Geschwindigkeitsflag) funktionierte jedoch einwandfrei.
Vlad Schnakovszki
8

Wenn Sie Eclipse und das m2eclipse-Plugin verwenden, gibt es eine grafische Version des Abhängigkeitsbaums, in der Sie nach Bereich usw. filtern können.

Brian Fox
quelle
2

Sie können viele Berichte von haben

MVN-Site

Einer davon ist der Abhängigkeitsbericht.

Knall
quelle
1

Wenn Sie maven mit dem Schalter "-x" ausführen, werden zahlreiche Diagnosen ausgedruckt. Ich denke, der relevante Abhängigkeitspfad kann von dort abgerufen werden.

Valters Vingolds
quelle
2
In der Tat ist diese Antwort nützlich. Ich war mit dem bekannten undefinierten Fehler der Ätherklasse konfrontiert, der durch das Upgrade meines Maven von 3.0 auf 3.3 verursacht wurde, und der folgende Befehl ergab, dass ein anderes Maven-Plugin noch Version 3.0.5 von org.apache.maven beschaffte: maven-core: mvn -X dependency:tree -Dverbose |grep -C20 sonatype.aether
ekarak
Während "-X" (Großbuchstaben, alternativer Name "--debug") häufig nützlich ist, gibt es keinen Hinweis auf die Herkunft einer Versionsnummer. Jedenfalls nicht auf Maven 3.6.0.
Werkzeugschmiede
1

Die Abhängigkeitsinformationen sind auch im Bericht "Projektinformationen / Abhängigkeiten" enthalten, wenn Sie mithilfe von mvn site eine Site für das Projekt generiert haben.

Filip Korling
quelle