Ответ 1
попробуйте инструменты анализа из dependency-plugin
особенно mvn dependency:analyze-dep-mgt
Когда я создаю свой проект, я получаю следующие предупреждения:
[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 в моем локальном репо.
попробуйте инструменты анализа из dependency-plugin
особенно mvn dependency:analyze-dep-mgt
Несколько вещей, которые могут помочь:
mvn dependency:tree -Dverbose=true
может выплеснуть неиспользуемые дубликаты/версии. Недостаточно в моем случае, однако, по какой-то причине он не показывал оскорбительную банку, указанную [?]. Он также не показывает опускаемых потомков банок, которые могут быть полезны или не могут быть полезны.
ref: http://jira.codehaus.org/browse/MDEP-123
Intellij может указать, что, по его мнению, является нарушением pom и путей (откройте файл pom.xml, наведите курсор на подчеркнутый "проект":
К сожалению, ни одного из них не было достаточно для меня.
Тогда я заметил, что если вы удалите каталог-нарушитель из вашего ~/.m2/repository, он будет снова загружен и в основном пуст. Поэтому я думаю, что иногда это сообщение об ошибке может означать, что "ваша связь отображает версию, которая на самом деле не доступна для загрузки". Похоже, что maven по умолчанию, если вы запрашиваете, например, commons-logging 1.1.1, попытается загрузить pom для всех известных версий common-logging, тогда в моем случае оно выплюнет это предупреждение, но оно было доброкачественным. Уф!
Таким образом, по правде говоря, ни один из ваших проектов не может указывать на предупреждение о плохой ошибке (или плохая версия и т.д.), кроме индекса метаданных nexus.
Вы можете использовать зависимость: tree, чтобы увидеть, что pom ссылается на тот, который вам не хватает