репозитории моментальных снимков maven
-
18-09-2019 - |
Вопрос
Мой проект зависит от сторонней библиотеки, которая имеет только моментальные снимки в своем репозитории maven (без релизов, что кажется странным, но так оно и есть).Каждый раз, когда я выполняю полную сборку (и очищаю свой локальный репозиторий .m2), maven, очевидно, пойдет и возьмет последнюю сборку.
Мой репозиторий проксирует тот, в котором есть моментальные снимки, можно ли в любом случае сообщить моему репозиторию прекратить извлекать новые версии и, по сути, просто сохранить текущую версию?Я действительно не хочу каждый вечер делать новую сборку.
Единственная мысль, которая у меня возникла, - это вручную пометить текущие версии, но существует довольно много зависимостей, и все они зависят от версий моментальных СНИМКОВ.Есть ли более простой способ сделать это?
Спасибо,
Джефф
Решение
Взгляните на эту запись в блоге sonatype: Рекомендации по использованию зависимостей от моментальных снимков сторонних производителей
Обычно я устанавливаю файл на свой прокси-сервер или локальное хранилище как определенную версию, а затем ссылаюсь на эту версию.Тогда вы не рискуете, что снимок исчезнет у вас из-под носа.
Другие советы
Запускаете ли вы сборку с -U
( -update-snapshots
) вариант ?Если да, попробуйте без этого.
В противном случае, если существует только эта зависимость от репозитория, вы могли бы просто отключить этот репозиторий, и Maven продолжит использовать последнюю версию, которую он найдет в локальном репозитории.
Пытались ли вы указать <updatePolicy>
с помощью never
стратегия в <snapshots>
элемент вашего <pluginRepository>
?Видишь Репозитории плагинов и Репозитории.
Используйте --no-snapshot-updates
опция для подавления обновлений моментальных снимков.
например ,
$ mvn --no-snapshot-updates compile