Как просмотреть транзитивные зависимости файла Maven pom.xml?

Есть ли инструмент CLI, который я могу использовать для быстрого просмотра переходных зависимостей файла Maven pom.xml?


person ryan    schedule 24.05.2011    source источник


Ответы (1)


В интерфейсе командной строки используйте mvn dependency:tree
(здесь некоторые дополнительные примечания по использованию)

При запуске dependency:tree в многомодульном проекте maven используйте mvn compile dependency:tree вместо1.

В противном случае редактор POM в M2Eclipse (интеграция Maven для Eclipse) очень хорош и включает иерархическое представление зависимостей. .


1Если вы не скомпилируете, вы можете получить ошибку Failed to execute goal on project baseproject: Could not resolve dependencies for project com.company:childproject:jar:1.0.0: Could not find artifact. Это может произойти из-за того, что команда dependency:tree не создает проекты и не разрешает зависимости, а ваши проекты не установлены в репозиторий maven.

person Sean Patrick Floyd    schedule 24.05.2011
comment
Это не очень практично, если вы пытаетесь определить, на какие транзитивные зависимости вы полагаетесь во время компиляции. Он просто дает вам гигантский список всех транзитивных зависимостей, используемых или нет. - person Sridhar Sarnobat; 03.10.2017
comment
Кроме того, чтобы увидеть разрешение конфликтов между транзитивными зависимостями, вам нужно будет добавить verbose: mvn dependency:tree -Dverbose https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html - person kisna; 20.03.2018
comment
Я думаю, что подробный вариант, предложенный @kisna, необходим, иначе повторяющиеся транзитивные зависимости не будут отображаться. - person flow2k; 26.06.2019
comment
Еще одно предостережение: если в проекте используется плагин Shade, dependency:tree может не получиться рисовать его транзитивные зависимости. - person flow2k; 26.06.2019