Jak mogę sprawić, by Maven przestał próbować sprawdzać aktualizacje artefaktów z określonej grupy z Maven-Central-Repo?
Pracuję nad dość dużym projektem Maven. Mamy prawdopodobnie około 70 pojedynczych artefaktów, które są z grubsza podzielone na dwie biblioteki współdzielonego kodu i może dziesięć aplikacji, które z nich korzystają. Wszystkie te elementy mieszkają w przestrzeni nazwcom.mycompany.*
.
Przez większość czasu uruchamiamy kompilacje migawek. Aby wykonać pełną kompilację aplikacji, mógłbym najpierw zbudować projekty biblioteczne, aby zostały zainstalowane w moim lokalnym repozytorium (na przykład,mycompany-libname-2.4-SNAPSHOT.jar
).
Problem polega na tym, że kiedy idę, buduję aplikacje. Z jakiegoś powodu Maven chce sprawdzić dwa główne publiczne repozytoria (maven-net-repo i java-net-repo) w poszukiwaniu aktualizacji dla wszystkichmycompany-*-SNAPSHOT.jar
artefakty. Oczywiście nie są tam znalezione i wszystko w końcu powraca do wersji, które właśnie zbudowałem w moim lokalnym repozytorium, ale chciałbym, aby Maven przestał to robić, ponieważ (a) sprawia, że czuję się jak zły net.citizen za ciągłe sprawdzanie tych repozytoriów pod kątem rzeczy, które nigdy nie będą tam obecne, oraz (b) dodaje trochę niepotrzebnego i irytującego opóźnienia sieci do mojego procesu budowania.
Przez większość czasu pracowałem nad uruchomieniem maven w trybie offline, ale nie jest to idealne rozwiązanie, ponieważ czasami zależność od biblioteki publicznej zostanie zaktualizowana. Więc to, czego szukam, to rozwiązanie, które sprawi, że Maven nie będzie sprawdzać aktualizacji z danych repozytoriów pod kątem artefaktów spełniających określone kryteria - w tym przypadku byłbym szczęśliwy, gdyby Maven zignorował wersje SNAPSHOT lub artefakty, które były wcom.mycompany
przestrzeń nazw.