Как узнать, почему банку был включен Maven?
Мы используем Maven 3 с IntelliJ для нашей среды разработки. После компиляции мы получаем кучу spring 2.0, которые включаются во внешние библиотеки. Если я просматриваю зависимости Maven Projects в Intellij, я не вижу никого с зависимостью от spring 2.0, поэтому я подозреваю, что мы зависим от того, от чего это зависит.
Мой вопрос в том, как я могу отследить это? Я попытался сделать mvn dependency:tree -Dverbose -Dincludes=spring-aop
и даже -Dincludes=spring
, но не получаю никаких результатов при запуске из каталога корневого каталога или вспомогательного модуля, который, как я знаю, использует spring.
Ответы
Ответ 1
Похоже, что шаблон, переданный в -Dincludes
, неверен.
Из документации Maven Dependency Plugin синтаксис -Dincludes
определяется StrictPatternIncludesArtifactFilter
. Из javadoc AbstractStrictPatternArtifactFilter, из которого это подклассы,
Синтаксис шаблона артефактов Форма:
[groupId]:[artifactId]:[type]:[version]
Где каждый сегмент шаблона является необязательным и поддерживает полный и частичные * подстановочные знаки. Пустая диаграмма сегмент рассматривается как неявный подстановочные.
Например, org.apache.*
будет соответствовать всем артефактам, чья группа id начинался с org.apache.
, а :::*-SNAPSHOT
соответствовал бы всем моментальным снимкам артефакты.
Может быть, вы должны запустить mvn dependency:tree
без -Dincludes
и посмотреть, показывает ли он зависимую зависимость spring 2.0. В качестве альтернативы укажите соответствующий шаблон для -Dincludes
.
Ответ 2
Формат, который вы ищете, неверен. Попробуйте следующее:
mvn dependency:tree -Dverbose -Dincludes=:spring*::
(Ищет любой артефакт с groupId, начинающийся с spring)
Или это:
mvn dependency:tree -Dverbose -Dincludes=org.springframework
(Ищет любой артефакт с artifactId org.springframework)
Ответ 3
Почему бы не использовать intellij и не исправить его.
Откройте pom.xml, щелкните правой кнопкой мыши (вызовите контекстное меню) и выберите UML > показать зависимости (если у вас включен плагин UML).
Идея будет отмечать все дубликаты зависимостей, и вы можете использовать комбинацию ALT + Enter для исключения зависимостей.
@смотрите также:
http://blogs.jetbrains.com/idea/2010/05/maven-dependencies-diagram/