Comment afficher l'arborescence de dépendances Maven pour les * plugins * de votre projet?

130

Une technique de débogage Maven courante consiste à utiliser mvn dependency: tree pour afficher le graphique des dépendances du projet.

Cependant, cette liste montre les dépendances du projet, pas l'arborescence des dépendances du plugin pour chaque plugin. Existe-t-il un moyen de le faire à partir d'un projet?

Alex Miller
la source
1
Avez-vous essayé d'exécuter mvn -X ...
khmarbaise
Oui, et cela est utile pour certains problèmes, mais pas ce que je demande.
Alex Miller
Il contient les dépendances d'un plugin sinon une telle chose n'est pas disponible.
khmarbaise
@khmarbaise a raison. L'arbre de dépendances d'un plugin est disponible dans la sortie de débogage de Maven. Je ne connais pas d'autre moyen de l'obtenir non plus. (Si vous transformez cela en réponse, je vais voter pour.)
Ryan Stewart
Voir aussi stackoverflow.com/q/312767/32453
rogerdpack

Réponses:

102

La sortie via mvn -X imprimera les informations indirectement. Actuellement, il n'y a pas d'autre option pour obtenir les dépendances d'un Maven-Plugin.

Mise à jour Vous pouvez utiliser la commande suivante pour obtenir une liste des dépendances du plugin ( objectif de résolution du plugin du plugin de dépendances):

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:resolve-plugins

La version plus courte est (et c'est une mauvaise habitude de spécifier des versions de plugin)

mvn dependency:resolve-plugins
khmarbaise
la source
14
Resolution-plugins ne produit pas seulement l'arborescence des dépendances ... il semble re-télécharger tous les packages. Pas idéal.
Reinderien
5
Le plugin ne respecte pas les dépendances de plugin de remplacement dans pom.xml (tag <build><plugins><plugin><dependencies><dependency>)
amra
pour utiliser la dernière version du plugin: mvn org.apache.maven.plugins: maven-dependency-plugin: 2.10: resolution-plugins
STB Land
Par défaut, maven charge quelque chose de la version 2. du plugin de dépendance. Personnellement, j'ai réussi à obtenir de meilleurs résultats en utilisant la version 3.x.
Dragas
-3

Si vous utilisez un IDE comme IDEA IntelliJ ou Eclipse:

  • Vous pouvez ajouter ce plugin ci-dessous dans votre pom.xml
  • Une fois cela fait, sur la fenêtre Maven (à droite de l'IDE), vous trouverez un nouveau plugin appelé Dépendances
  • Développez cela et vous verrez la dépendance: objectif de l'arborescence, double-cliquez dessus et exécutez-le, vous devriez voir l'arbre de dépendances complet

Plugin à ajouter dans POM:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Dean Jain
la source