In Maven 2, come faccio a sapere da quale dipendenza proviene una dipendenza transitiva?


97

Vorrei sapere quale dipendenza descritta nel mio pom.xml porta una dipendenza transitiva nella mia directory di destinazione.

Per essere più precisi, ho la libreria "poi-2.5.1-final-20040804.jar" nella mia directory WEB-INF / lib e vorrei sapere quale dipendenza nel mio pom.xml lo porta.

Risposte:


132

Per aggiungere a @David Crow, ecco una dipendenza: esempio di albero dal sito Maven:

mvn dependency:tree -Dincludes=velocity:velocity

potrebbe produrre

[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

1
Questo non ha funzionato per me; tutto quello che ho ottenuto sono stati errori su valori "legacy" non supportati. L'esecuzione della versione di @David Crow (cioè senza il flag di velocità) ha funzionato bene.
Vlad Schnakovszki



2

Puoi avere molti rapporti da

sito mvn

Uno di questi è il rapporto sulle dipendenze.


1

Se esegui Maven con l'opzione "-x", stamperà un sacco di diagnostica, immagino che il percorso di dipendenza pertinente possa essere raccolto da lì.


2
In effetti, questa risposta è utile. Stavo affrontando il noto bug indefinito della classe eterica causato dall'aggiornamento del mio Maven da 3.0 a 3.3 e il seguente comando ha rivelato che un altro plugin di Maven stava ancora cercando la versione 3.0.5 di org.apache.maven: maven-core: mvn -X dependency:tree -Dverbose |grep -C20 sonatype.aether
ekarak

Sebbene "-X" (maiuscolo, nome alternativo "--debug") sia spesso utile, non ti dice l'origine di un numero di versione. Non su Maven 3.6.0 comunque.
toolforger

1

Le informazioni sulle dipendenze sono incluse anche nel rapporto Informazioni sul progetto / Dipendenze se Maven ha generato un sito per il progetto, utilizzando mvn site.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.