Domanda

Il mio progetto dipende da una libreria 3rd party che ha solo istantanee nel suo repository Maven (rilasci, che sembra strano, ma è così che è). Ogni volta che faccio una generazione completa (e pulire il mio repository .m2 locale) Maven sarà ovviamente andare a prendere l'ultima build.

Le mie deleghe repository quello con le istantanee in esso, c'è comunque di dire al mio repository di smettere di tirare nuove versioni e fondamentalmente solo mantenere la versione attuale? Io davvero non voglio essere tirando una nuova build ogni notte.

L'unico pensiero che ho avuto quello che c'è da etichettare manualmente le versioni attuali, ma un bel po 'le dipendenze e sono tutti dipendenti dalle versioni offline. C'è un modo più semplice per fare questo?

grazie,

Jeff

È stato utile?

Soluzione

Date un'occhiata a questo blog da Sonatype: Best Practices per il 3rd Party Snapshot dipendenze

Io di solito installare il file al mio proxy o repo locale come una certa versione, quindi fare riferimento a tale versione. Allora non si rischia l'istantanea sparire da sotto.

Altri suggerimenti

Non si esegue la compilazione con l'opzione -U (-update-snapshots)? In tal caso, provare senza.

Altrimenti, se c'è solo questa dipendenza sul repository, si può solo disattivare questo repository, e Maven sarà continuare a utilizzare l'ultima versione che trova sul repository locale.

Hai provato a specificare il <updatePolicy> con la strategia never nell'elemento <snapshots> del vostro <pluginRepository>? Vedere Plugin Repositories e noreferrer Repositories .

Utilizzare l'opzione --no-snapshot-updates per sopprimere gli aggiornamenti snapshot.

per es.

$ mvn --no-snapshot-updates compile
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top