Я использую Maven 3.5.2 и Java 8.
Я работаю над проектом, в котором я получаю следующее при настольной сборке проекта:
Не удалось найти артефакт :: jar: 2.2.0-SNAPSHOT в ...
Если я загляну в наш репозиторий Nexus в интрасети, я увижу версию «2.2.0» этого артефакта, но не 2.2.0-SNAPSHOT. Срок действия наших моментальных снимков истекает через некоторое время, что время от времени вызывает подобные проблемы. Сборка на нашем сервере CI не приводит к сбою, потому что локальное хранилище maven на сервере CI не очищается перед каждой сборкой (я упоминал, что это должно произойти), так что версия этого артефакта находится в этом локальном хранилище maven. , Фактически, у меня была эта версия этого артефакта в локальном репозитории Maven на рабочем столе ранее этим утром, но я, к сожалению, удалил ее, пытаясь отладить эту ошибку, о которой первоначально сообщил мне другой пользователь.
В нашем приложении мы не указываем этот артефакт вообще. Это указано в родительском пом. В этом родительском поме версия не указана.
Я хотел бы выяснить, ГДЕ указывается эта версия «2.2.0-SNAPSHOT» для этого артефакта. Я подумал, что, возможно, "dependency: tree" сделает это, но, к сожалению, этот плагин не распечатает дерево, если не сможет разрешить все зависимости, что и происходит в этом случае.
Я могу просмотреть родительский pom в Eclipse, и на вкладке «Зависимости» он показывает этот артефакт с помощью «(managed: 2.2.0-SNAPSHOT)». У этого родительского пома нет родителя.
Так что, если эта версия "управляемая", как я могу сказать, что управляет ею? Могу ли я использовать mvn в командной строке или графический интерфейс Nexus, чтобы сообщить мне, что указывает эта версия?
Обновление
Я уже знал, что в разделе "dependencyManagement" обычно указываются версии для использования "другими poms", но я уже искал эту спецификацию версии во всем pom (как app, так и parent), и не сделал этого ' не могу найти его.
Первый ответ заставил меня осознать, что мне нужно было искать артефакты спецификации (ведомость материалов), которые используются только для указания версий для групп артефактов.
Когда я наконец просмотрел раздел dependencyManagement родительского pom, я увидел, что он ссылается на артефакт BOM, и когда я посетил этот артефакт, я обнаружил указанную версию.
так СЕЙЧАС, что я хотел бы знать, есть ли в maven (или в eclipse m2e) что-нибудь, что СКАЖИ МНЕ, что мне пришлось копать, чтобы узнать. У меня такое чувство, что ответ - нет.