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