Я работаю над довольно большим проектом Maven. У нас, вероятно, около 70 отдельных артефактов, которые примерно разделены на две библиотеки общего кода и, возможно, десять приложений, которые их используют. Все эти элементы находятся в пространстве имен com.mycompany.*
.
В большинстве случаев мы работаем против сборок моментальных снимков. Итак, чтобы выполнить полную сборку приложения, я мог бы сначала собрать проекты библиотеки, чтобы они были установлены в моем локальном репозитории (как, скажем, mycompany-libname-2.4-SNAPSHOT.jar
).
Проблема в том, что когда я затем собираю приложения. По какой-то причине Maven хочет проверить два основных общедоступных репозитория (maven-net-repo и java-net-repo) на предмет обновлений для всех mycompany-*-SNAPSHOT.jar
артефактов. Конечно, их там нет, и все в конечном итоге возвращается к версиям, которые я только что построил в своем локальном репозитории, но я бы хотел, чтобы Maven прекратил это делать, потому что (а) это заставляет меня чувствовать себя плохим net.citizen для постоянной проверки этих репозиториев на предмет того, чего там никогда не будет, и (б) это добавляет некоторую ненужную и раздражающую сетевую задержку в мой процесс сборки.
Большую часть времени я использовал maven в автономном режиме, чтобы обойти это, но это не идеально, поскольку иногда будет обновляться зависимость от публичной библиотеки. Итак, я ищу решение, которое заставит Maven не проверять обновления из заданных репозиториев для артефактов, которые соответствуют определенным критериям - в этом случае я был бы счастлив, если бы Maven игнорировал либо версии SNAPSHOT, либо артефакты, которые были в com.mycompany
имена.