Как получить дерево зависимостей для артефакта?
dependency:tree можно использовать для просмотра дерева зависимостей для данного проекта. Но мне нужно увидеть дерево зависимостей для стороннего артефакта.
Я думаю, что могу создать пустой проект, но я ищу что-то проще (мне нужно сделать это для нескольких артефактов).
6 ответов:
1) Использовать плагин зависимости maven
создать простой проект с пом.только xml. Добавьте свою зависимость и запустите:
mvn dependency:treeк сожалению зависимость Моджо должен использовать pom.xml или вы получаете следующую ошибку:
не удается выполнить mojo: tree. Для этого требуется проект с существующим pom.xml, но сборка не использует его.
2) Найти пом.xml вашего артефакта в maven central репозиторий
зависимости описаны в pom.xml вашего артефакта. Найдите его с помощью инфраструктуры maven.
перейти к http://search.maven.org/ и введите свой groupId и artifactId.
или вы можете перейти к http://repo1.maven.org/maven2/ и перейдите сначала с помощью плагинов groupId, позже с помощью artifactId и, наконец, используя его версию.
например, см. org.springframework: spring-core
3) используйте плагин зависимости maven против вашего артефакта
частью артефакта зависимостей является pom.XML. Это указывает на его зависимость. И вы можете выполнить команды mvn зависимость:дерево на этот пом.
вы можете искать конкретный артефакт С помощью этой команды maven:
mvn dependency:tree -Dverbose -Dincludes=[groupId]:[artifactId]:[type]:[version]согласно документации:
где каждый сегмент шаблона является необязательным и поддерживает полные и частичные * подстановочные знаки. Пустой сегмент шаблона рассматривается как неявный подстановочный знак.
представьте, что вы пытаетесь найти файл jar 'log4j-1.2-api' среди различных модулей вашего проекта:
mvn dependency:tree -Dverbose -Dincludes=org.apache.logging.log4j:log4j-1.2-apiбольше информации может быть нашел здесь.
решение состоит в том, чтобы вызвать dependency:tree с POM артефакта.xml-файл:
mvn -f "$HOME/.m2/repository/$POM_PATH" dependency:treeсм. также как перечислить транзитивные зависимости артефакта из репозитория?
Если вы используете текущую версию m2eclipse (который вы должны, если вы используете eclipse и maven):
выберите пункт меню
Navigate -> Open Maven POMи ввести артефакт, который вы ищете.
pom откроется в Редакторе pom, из которого вы можете выбрать вкладку
Dependency Hierarchyдля просмотра иерархии зависимостей (как следует из названия :-) )
Если ваш артефакт не является зависимостью данного проекта, лучше всего использовать поисковая система репозитория. Многие из них описывают зависимости данного артефакта.
Если вы хотите получить графическое, доступное для поиска представление дерева зависимостей (включая все модули из вашего проекта, транзитивные зависимости и информацию о выселении), проверьте UpdateImpact:https://app.updateimpact.com (бесплатный сервис).
отказ от ответственности: я один из разработчиков сайта
Comments