Если вы хотите выяснить, откуда приходит транзитивная зависимость от для данного проекта , тогда плагин Maven Dependency действительно ваш друг. Используйте его с параметром includes
, который позволяет указывать список артефактов через запятую, чтобы фильтровать сериализованное дерево зависимостей, или null, чтобы не фильтровать дерево зависимостей. Синтаксис артефакта определяется как StrictPatternIncludesArtifactFilter
.
О синтаксисе javadoc пишет:
Синтаксис шаблона артефакта имеет
форма
[groupId]:[artifactId]:[type]:[version]
Где каждый сегмент шаблона является необязательным
и поддерживает полное и частичное
*
подстановочные знаки. Пустой
Сегмент шаблона рассматривается как
неявный подстановочный знак.
Например, org.apache.*
будет
соответствовать всем артефактам, чей идентификатор группы
началось с org.apache.
и
:::*-SNAPSHOT
будет соответствовать всем
артефакты снимка.
Вот пример (я хочу найти, откуда исходит артефакт activation
проекта):
$ mvn dependency:tree -Dincludes=:activation::
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Java EE 6 Demo - Petstore - Domain
[INFO] task-segment: [dependency:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree {execution: default-cli}]
[INFO] name.thivent.samples.javaee6.domain:domain:jar:1.0-SNAPSHOT
[INFO] \- org.hibernate:hibernate-validator:jar:4.0.2.GA:runtime
[INFO] \- javax.xml.bind:jaxb-api:jar:2.1:runtime
[INFO] \- javax.activation:activation:jar:1.1:runtime
[INFO] ------------------------------------------------------------------------
...
M2Eclipse предоставляет хороший интерфейс для dependency:tree
, если вы его используете.
Для чего-то «ближе» к rpm --whatprovides
(т. Е. Без поиска конкретного проекта) вам придется использовать поисковую систему хранилища . Вот пример для активации-1.1.jar (см. Этот артефакт используется в ... разделе).