Подтвердить что ты не робот

Как я могу найти POM, который запрашивает отсутствующую POM?

Когда я создаю свой проект, я получаю следующие предупреждения:

[INFO] ------------------------------------------------------------------------
[INFO] Building XXX
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for org.eclipse.update:org.eclipse.update.configurator:jar:3.2.0 is missing, no dependency information available
[WARNING] The POM for org.eclipse.emf:org.eclipse.emf.ecore:jar:2.3.2 is missing, no dependency information available
[WARNING] The POM for com.ibm.icu:com.ibm.icu:jar:3.4.4 is missing, no dependency information available

В моей сборке я перезаписываю версии этих зависимостей, и сама сборка успешно завершена.

Каков самый быстрый способ исправить предупреждения?

Изменить: что является самым быстрым способом поиска POM, которые содержат эти версии?

Примечание. У меня 7000 POM в моем локальном репо.

4b9b3361

Ответ 1

попробуйте инструменты анализа из dependency-plugin

особенно mvn dependency:analyze-dep-mgt

Ответ 2

Несколько вещей, которые могут помочь:

mvn dependency:tree -Dverbose=true может выплеснуть неиспользуемые дубликаты/версии. Недостаточно в моем случае, однако, по какой-то причине он не показывал оскорбительную банку, указанную [?]. Он также не показывает опускаемых потомков банок, которые могут быть полезны или не могут быть полезны.

ref: http://jira.codehaus.org/browse/MDEP-123

Intellij может указать, что, по его мнению, является нарушением pom и путей (откройте файл pom.xml, наведите курсор на подчеркнутый "проект":

intellij dependency list

К сожалению, ни одного из них не было достаточно для меня.

Тогда я заметил, что если вы удалите каталог-нарушитель из вашего ~/.m2/repository, он будет снова загружен и в основном пуст. Поэтому я думаю, что иногда это сообщение об ошибке может означать, что "ваша связь отображает версию, которая на самом деле не доступна для загрузки". Похоже, что maven по умолчанию, если вы запрашиваете, например, commons-logging 1.1.1, попытается загрузить pom для всех известных версий common-logging, тогда в моем случае оно выплюнет это предупреждение, но оно было доброкачественным. Уф!

Таким образом, по правде говоря, ни один из ваших проектов не может указывать на предупреждение о плохой ошибке (или плохая версия и т.д.), кроме индекса метаданных nexus.

Ответ 3

Вы можете использовать зависимость: tree, чтобы увидеть, что pom ссылается на тот, который вам не хватает