W Maven 2, skąd mam wiedzieć, z której zależności pochodzi zależność przechodnia?

97

Chciałbym wiedzieć, która zależność opisana w moim pom.xml wprowadza zależność przechodnią do mojego katalogu docelowego.

Mówiąc dokładniej, mam bibliotekę „poi-2.5.1-final-20040804.jar” w moim katalogu WEB-INF / lib i chciałbym wiedzieć, która zależność w moim pom.xml to powoduje.

paulgreg
źródło

Odpowiedzi:

132

Aby dodać do @David Crow, oto przykład zależności: drzewo ze strony Maven:

mvn dependency:tree -Dincludes=velocity:velocity

może wyjść

[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
źródło
1
To nie zadziałało dla mnie; otrzymałem tylko błędy dotyczące nieobsługiwanych „starszych” wartości. Uruchomienie wersji @David Crow (tj. Bez flagi prędkości) działało jednak dobrze.
Vlad Schnakovszki
8

Jeśli używasz eclipse i wtyczki m2eclipse, istnieje graficzna wersja drzewa zależności, w której możesz filtrować według zakresu itp.

Brian Fox
źródło
2

Możesz mieć wiele raportów według

witryna mvn

Jednym z nich jest raport zależności.

Huk
źródło
1

Jeśli uruchomisz mavena z przełącznikiem „-x”, wydrukuje on wiele informacji diagnostycznych, myślę, że można pobrać odpowiednią ścieżkę zależności.

Valters Vingolds
źródło
2
W rzeczywistości ta odpowiedź jest przydatna. Miałem do czynienia z dobrze znanym niezdefiniowanym błędem klasy eteru, spowodowanym aktualizacją mojego Mavena z 3.0 do 3.3, a poniższe polecenie ujawniło, że inna wtyczka maven nadal pobiera wersję 3.0.5 org.apache.maven: maven-core: mvn -X dependency:tree -Dverbose |grep -C20 sonatype.aether
ekarak
Chociaż "-X" (wielka litera, nazwa alternatywna "--debug") jest często użyteczne, nie podaje pochodzenia numeru wersji. W każdym razie nie w Maven 3.6.0.
toolforger
1

Informacje o zależnościach są również zawarte w raporcie Informacje o projekcie / zależnościach, jeśli masz maven wygenerował witrynę dla projektu przy użyciu witryny mvn.

Filip Korling
źródło