Nexus / Maven - POM для ... отсутствует, информация о зависимостях недоступна

я сталкиваюсь с кучей предупреждений, таких как " POM for ... отсутствует, информация о зависимостях недоступна" при создании моего проекта Maven java.

артефакты хранятся на сервере Nexus, размещенном в нашей компании. Проблема началась после того, как я запланировал задачу в Nexus "удалить релизы из репозитория", чтобы очистить его и поддерживать только последние версии 2.

из-за этого, я получаю эти предупреждения для старого удален релизы:

[WARNING] The POM for xpto:jar:jar:8.16.1 is missing, no dependency information available
[WARNING] The POM for xpto:jar:jar:8.17.0 is missing, no dependency information available
[WARNING] The POM for xpto:jar:jar:8.18.0 is missing, no dependency information available
[WARNING] The POM for xpto:jar:jar:8.19.0 is missing, no dependency information available

Как только у меня много проектов компонентов, а релизы являются константами, при компиляции некоторого проекта, использующего эти компоненты, я получаю много предупреждений.

вы, ребята, предлагаете какой-то способ избежать этих предупреждений или выполнить какую-то цель на стороне клиента, которая может повторно разрешить или переиндексировать зависимости?

С уважением,

2 ответов


иногда выпуски являются одноразовыми

Как описано выше в статье, в зависимости от вашего бизнеса вам может не понадобиться хранить старые версии в собственном репозитории. Я участвую в этом сценарии.

чтобы поддерживать, например, только 2 последних выпуска из моих проектов компонентов, необходимо выполнить некоторые шаги, чтобы избежать сообщений maven [WARNING]:

1. Удалить выпуски из репозитория

вы должны добавить задача для вашего репозитория поддерживать только n отпустите itens. Это можно сделать с помощью:

  • перейти к Sonatype Nexus > администрирование > запланированные задачи > добавить
  • Установите " тип задачи "в"удалить выпуски из репозитория"
  • Настройте свои собственные параметры (электронная почта, повторение и т. д.)

2. Перестроить файлы метаданных maven

"ace in the hole" для этого вопроса-перестроить файлы метаданных maven (Мэйвен-метаданные.xml), как только они собирались поддерживать старую информацию о выпусках до тех пор, пока они не будут перестроены. Это можно сделать с помощью:

  • перейти к Sonatype Nexus > администрирование > запланированные задачи > добавить
  • Установите "тип задачи"на" перестроить файлы метаданных Maven"
  • Настройте свои собственные параметры (электронная почта, повторение и т. д.)
  • внимание: эта задача должна выполняться после "удалить релизы Хранилище"

3. Локальный репозиторий

теперь локальный репозиторий должен знать, что файлы метаданных были обновлены. Это можно сделать с помощью параметра:

  • mvn-U:

    - U,--update-snapshots заставляет проверять наличие обновлений выпуски и снимки на remote

  • например:

    mvn-U чистый пакет

ссылки


Проверьте settings.xml, т. е. экспортируется как таковой в bash:

export MVN_SETTINGS=~/.m2/settings.xml 

это предупреждение обычно появляется, когда вы не можете загружать зависимости из интернета.