У нас большой мультимодульный проект maven. С целью повышения производительности разработки мы недавно начали развертывать моментальные снимки в удаленном репозитории (через центральную сборку) и представили профили maven, которые означают, что пользователям нужно только извлекать и создавать подмножество модулей и делать снимки для остальных. Мы также установили нашу политику обновления для удаленных репозиториев на «никогда», чтобы гарантировать, что она является явной, когда мы хотим обновить локальные снимки. Типичная команда такова; mvn -Pref -U чистая установка.
Теперь в реакторе maven сборка для модулей, определенных в профиле, работает отлично, maven использует снимки для их зависимостей, в том числе загружает любые обновленные из удаленного репозитория (важное примечание; для обеспечения согласованного набора моментальные снимки, наше центральное развертывание включает все снимки модулей нашего проекта, даже если изменилась только пара из них).
Задержка, по-видимому, возникает, когда maven затем разрешает зависимости обратно к тем локально собранным модулям из модулей, которые существуют вне профиля - если моментальный снимок был развернут удаленно с момента сборки такого модуля, тогда maven считает это более обновленной версии и приступает к загрузке и перезаписи локально созданного снимка. Это может вызвать разрывы, когда другие модули ожидают локально измененный модуль.
По сути, мне бы хотелось иметь опцию типа «использовать локально созданный снимок» в любых модулях моего профиля для любого удаленного снимка, даже если временная метка указывает на то, что удаленный снимок является более поздним.
Что другие люди сделали в этом сценарии?
спасибо,
Пол