Как узнать, почему банку включил Maven? - PullRequest
20 голосов
/ 04 января 2011

Мы используем Maven 3 с IntelliJ для нашей IDE.После компиляции мы получаем кучу материалов Spring 2.0, включаемых во внешние библиотеки.Если я просматриваю зависимости Maven Projects в Intellij, я не вижу никого, кто бы зависел от Spring 2.0, поэтому я подозреваю, что это то, от чего мы зависим, зависит от этого.вниз?Я попытался сделать mvn dependency:tree -Dverbose -Dincludes=spring-aop и даже -Dincludes=spring, но не получил результатов при запуске из корневого каталога или каталога подмодуля, который, как я знаю, использует spring.

Ответы [ 3 ]

13 голосов
/ 05 января 2011

Похоже, что шаблон, переданный в -Dincludes, неверен.

Из документации Плагин зависимости Maven , определен синтаксис -Dincludesна StrictPatternIncludesArtifactFilter.Из javadoc AbstractStrictPatternArtifactFilter , из которого это подкласс,

Синтаксис шаблона артефакта имеет вид:

[groupId]:[artifactId]:[type]:[version]

Где каждый сегмент шаблона является необязательным и поддерживает полные и частичные * подстановочные знаки.Пустой сегмент шаблона обрабатывается как неявный подстановочный знак.

Например, org.apache.* будет соответствовать всем артефактам, чей идентификатор группы начинается с org.apache., а :::*-SNAPSHOT будет соответствовать всем артефактам снимка.

Возможно, вам следует запустить mvn dependency:tree без -Dincludes и посмотреть, покажется ли в нем зависимость, связанная с spring 2.0 .В качестве альтернативы укажите соответствующий шаблон для -Dincludes.

10 голосов
/ 05 января 2011

Неправильный формат, который вы ищете. Попробуйте это:

mvn dependency:tree -Dverbose -Dincludes=:spring*::

(поиск любого артефакта с идентификатором группы, который начинается с весны)

Или это:

mvn dependency:tree -Dverbose -Dincludes=org.springframework

(поиск любого артефакта с помощью artifactId org.springframework)

3 голосов
/ 06 января 2011

Почему бы не использовать intellij и легко исправить это.Откройте ваш pom.xml, щелкните правой кнопкой мыши (вызовите контекстное меню) и выберите UML> показать зависимости (предположим, у вас включен плагин UML).Идея помечает все дублирующиеся зависимости, и вы можете использовать комбинацию ALT + Enter, чтобы исключить зависимости.@ см. также: http://blogs.jetbrains.com/idea/2010/05/maven-dependencies-diagram/

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