Créez un projet simple avec pom.xml uniquement. Ajoutez votre dépendance et exécutez:
mvn dependency:tree
Malheureusement, la dépendance mojo doit utiliser pom.xml ou vous obtenez l'erreur suivante:
Impossible d'exécuter mojo: tree. Il nécessite un projet avec un pom.xml existant, mais la construction n'en utilise pas.
2) Trouvez pom.xml de votre artefact dans le référentiel central maven
Les dépendances sont décrites dans pom.xml de votre artefact. Trouvez-le en utilisant l'infrastructure maven.
Accédez à http://search.maven.org/ et entrez votre groupId et artifactId.
Ou vous pouvez aller sur http://repo1.maven.org/maven2/ et naviguer d'abord en utilisant les plugins groupId, puis en utilisant artifactId et enfin en utilisant sa version.
Par exemple, voir org.springframework: spring-core
3) Utilisez le plugin de dépendance maven contre votre artefact
Une partie de l'artefact de dépendance est un pom.xml. Cela spécifie sa dépendance. Et vous pouvez exécuter mvn dependency: tree sur ce pom.
pom.xml
fichiers), vous pouvez obtenir une erreur. Essayezmvn compile dependency:tree
alors.Si vous prenez la peine de créer un exemple de projet et d'y ajouter votre dépendance tierce, vous pouvez exécuter ce qui suit pour voir la hiérarchie complète des dépendances.
Vous pouvez rechercher un artefact spécifique à l' aide de cette commande maven:
Selon la documentation:
Imaginez que vous essayez de trouver le fichier jar 'log4j-1.2-api' parmi différents modules de votre projet:
plus d'informations peuvent être trouvées ici .
Edit: Veuillez noter que malgré les avantages de l'utilisation du paramètre verbeux , il peut ne pas être aussi précis dans certaines conditions. Parce qu'il utilise l'algorithme Maven 2 et peut donner des résultats erronés lorsqu'il est utilisé avec Maven 3.
la source
-Dverbose
était suffisant pour me montrer l'arbre complet dont j'avais besoin. Faire passer la sortie versless
ou similaire et effectuer une recherche rapide fonctionne très bien si vous ne vous souvenez pas duincludes
drapeau ou si vous ne voulez pas fournir le texte complet ou génériquegroupId
:)[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:tree (default-cli): Goal requires a project to execute but there is no POM in this directory (...). Please verify you invoked Maven from the correct directory. -> [Help 1]
La solution est d'appeler dependency: tree avec le fichier pom.xml de l'artefact:
Voir aussi Comment lister les dépendances transitives d'un artefact à partir d'un référentiel?
la source
Si vous utilisez une version actuelle de m2eclipse (ce que vous devriez si vous utilisez eclipse et maven):
Sélectionnez l'entrée de menu
Navigate -> Open Maven POM
et entrez l'artefact que vous recherchez.
Le pom s'ouvre dans l'éditeur de pom, à partir duquel vous pouvez sélectionner l'onglet
Dependency Hierarchy
pour afficher la hiérarchie des dépendances (comme son nom l'indique :-))la source
Si votre artefact n'est pas une dépendance d'un projet donné, le mieux est d'utiliser un moteur de recherche de référentiel . Beaucoup d'entre eux décrivent les dépendances d'un artefact donné.
la source
Si vous souhaitez obtenir une représentation graphique et interrogeable de l'arborescence de dépendances (y compris tous les modules de votre projet, les dépendances transitives et les informations d'éviction), consultez UpdateImpact: https://app.updateimpact.com (service gratuit).
Clause de non-responsabilité: je suis l'un des développeurs du site
la source
Je sais que cet article est assez ancien, mais quand même, si quelqu'un utilisant IntelliJ veut voir l'arbre de dépendances directement dans l'EDI, il peut installer le plugin Maven Helper Plugin .
Une fois installé, ouvrez pom.xml et vous pourrez voir l' onglet Analyse des dépendances comme ci-dessous. Il fournit également une option pour voir uniquement les dépendances en conflit et également sous forme d'arborescence.
la source