Посмотреть дерево зависимостей в Maven? - PullRequest
25 голосов
/ 23 июля 2011

Я хотел бы убедиться, что я не включаю дубликаты библиотек в свой проект Maven. Я вытащил довольно много зависимостей из нескольких разных репозиториев, включая основной, репозиторий Spring и репозиторий JBoss. Как я могу увидеть график зависимостей, чтобы убедиться, что я не зависим от нескольких версий одной библиотеки?

Было бы немного обидно, если бы я включил что-то вроде org.springframework:spring-core:3.0.1.RELEASE и org.springframework:org.springframework.spring-core:3.0.5.RELEASE, которые на самом деле проявляются как разные зависимости, как бы странно это ни звучало, потому что репозиторий Spring странно называет вещи , Что я могу сделать, чтобы убедиться, что у меня нет повторяющихся зависимостей?

Ответы [ 3 ]

37 голосов
/ 23 июля 2011

Плагин dependency:tree должен сделать то, что вы хотите, и показать дерево.

В качестве альтернативы вынуждает Maven2 копировать зависимости в target / lib , чтобы скопировать артефакты в каталоге target/lib, который также должен показывать дубликаты, но вам все равно нужно выполнить grep для всех POM в ~/.m2/repository чтобы узнать, какая библиотека в какую версию извлекает вручную, и это потребует много времени для больших локальных репозиториев.

0 голосов
/ 27 августа 2015

Если вы хотите получить графическое представление дерева зависимостей с возможностью поиска (включая все модули вашего проекта, транзитивные зависимости и информацию о выселении), ознакомьтесь с UpdateImpact: https://app.updateimpact.com (бесплатный сервис).

Используя поиск, вы можете узнать, сколько раз импортируется данная библиотека, какими модулями и в каких версиях, а также проверить, не были ли удалены старые версии более новыми.

Отказ от ответственности: я один из разработчиков сайта

0 голосов
/ 14 апреля 2015

Дублирующие библиотеки могут быть проблемой, но дублирующие классы могут существовать, даже если никакие библиотеки не дублируются.JBoss Tattletale может проанализировать набор файлов JAR и создать отчет, в котором перечислены все дублированные классы.Есть плагин Maven для запуска отчета - см. http://docs.jboss.org/tattletale/userguide/1.2/en-US/html/maven.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...