Sto lavorando a un progetto Maven abbastanza grande. Probabilmente abbiamo circa 70 singoli artefatti, che sono approssimativamente divisi in due librerie di codice condiviso e forse dieci applicazioni che li usano. Tutti questi elementi vivono nello spazio dei nomi com.mycompany.*
.
Il più delle volte ci imbattiamo in build di istantanee. Quindi, per fare una build completa di un'applicazione, potrei prima costruire i progetti di libreria in modo che siano installati nel mio repository locale (come, diciamo, mycompany-libname-2.4-SNAPSHOT.jar
).
Il problema è che quando poi vado a costruire le applicazioni. Per qualche ragione, Maven vuole controllare i due principali repository pubblici (maven-net-repo e java-net-repo) per gli aggiornamenti di tutti i mycompany-*-SNAPSHOT.jar
manufatti. Naturalmente, non sono stati trovati lì e alla fine tutto si risolve con le versioni che ho appena creato nel mio repository locale, ma vorrei che Maven smettesse di farlo perché (a) mi fa sentire un cattivo net.citizen per controllare costantemente questi repository per cose che non ci saranno mai, e (b) aggiunge un po 'di latenza di rete non necessaria e fastidiosa nel mio processo di compilazione.
Ho iniziato a eseguire Maven in modalità offline per la maggior parte del tempo per ovviare a questo, ma non è l'ideale poiché a volte viene aggiornata una dipendenza da una biblioteca pubblica. Quindi quello che sto cercando è una soluzione che impedirà a Maven di non verificare la presenza di aggiornamenti da determinati repository per artefatti che soddisfano determinati criteri - in questo caso, sarei felice se Maven ignorerebbe le versioni SNAPSHOT o gli artefatti presenti lo com.mycompany
spazio dei nomi.