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
это предупреждение обычно появляется, когда вы не можете загружать зависимости из интернета.