Dans Maven 2, comment savoir de quelle dépendance provient une dépendance transitive?

97

Je voudrais savoir quelle dépendance décrite dans mon pom.xml apporte une dépendance transitive dans mon répertoire cible.

Pour être plus précis, j'ai la bibliothèque "poi-2.5.1-final-20040804.jar" dans mon répertoire WEB-INF / lib et j'aimerais savoir quelle dépendance dans mon pom.xml apporte cela.

paulgreg
la source

Réponses:

132

Pour ajouter à @David Crow, voici un exemple de dépendance: tree du site Maven:

mvn dependency:tree -Dincludes=velocity:velocity

pourrait sortir

[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
la source
1
Cela n'a pas fonctionné pour moi; tout ce que j'ai obtenu, ce sont des erreurs concernant les valeurs «héritées» non prises en charge. L'exécution de la version de @David Crow (c'est-à-dire sans l'indicateur de vitesse) a bien fonctionné.
Vlad Schnakovszki
8

Si vous utilisez eclipse et le plugin m2eclipse, il existe une version graphique de l'arbre de dépendances où vous pouvez filtrer par portée, etc.

Brian Fox
la source
2

Vous pouvez avoir de nombreux rapports par

site mvn

L'un d'eux est le rapport de dépendance.

Coup
la source
1

Si vous exécutez maven avec le commutateur "-x", il affichera beaucoup de diagnostics, je suppose que le chemin de dépendance pertinent peut être récupéré à partir de là.

Valters Vingolds
la source
2
En fait, cette réponse est utile. J'étais confronté au bogue indéfini de la classe éther bien connu causé par la mise à niveau de mon Maven de 3.0 à 3.3 et la commande suivante a révélé qu'un autre plugin maven était toujours en train de sourcer la version 3.0.5 de org.apache.maven: maven-core: mvn -X dependency:tree -Dverbose |grep -C20 sonatype.aether
ekarak
Bien que "-X" (majuscule, nom alternatif "--debug") soit souvent utile, il ne vous indique pas l'origine d'un numéro de version. Pas sur Maven 3.6.0 de toute façon.
toolforger
1

Les informations de dépendance sont également incluses dans le rapport Informations sur le projet / Dépendances si vous avez maven générer un site pour le projet, à l'aide du site mvn.

Filip Korling
la source