Я работаю над довольно большим проектом 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
.