2009-09-02 24 views
31

C'è un modo per ottenere Maven per scaricare una specifica versione di istantanea di una dipendenza? So che specifica la dipendenza come questo verrà scaricato il lastest snapshot disponibili:Versione specifica di Maven di una dipendenza di snapshot

<dependency> 
<groupId>groupid</groupId> 
<artifactId>artifact-id</artifactId> 
<version>1.0.0-SNAPSHOT</version> 
</dependency> 

E 'possibile specificare una versione specifica istantanea? (ad esempio artifact-id-1.0.0-20090610.041042-5) Ciò sarebbe utile se la build di snapshot principale ha rotto qualcosa e la versione stabile della dipendenza deve ancora essere rilasciata ufficialmente.

+0

quando si esegue in bug, avete bisogno di questo genere di cose, ma come una pratica generale questo dovrebbe essere evitato –

risposta

3

Sì, è possibile. È possibile utilizzare qualsiasi versione presente nei repository di Maven. Ho incontrato alcuni problemi in cui le dipendenze trasnsitive sono state aggiunte alla versione. Ecco dove mvn dependency:tree è stato utile.

+5

L'OP chiede della versione specifica dell'istantanea, non una versione di rilascio pubblicata. – Palimondo

-3

quanto ne sappia la SNAPSHOT always refers to the latest build e non c'è modo di dipendere da versione specifica.

Per aggirare questo problema, è possibile ripubblicare la versione esatta da cui si desidera dipendere nel proprio repository di Maven e assegnargli una versione specifica.

+0

Hai ragione riguardo al comportamento del suffisso SNAPSHOT, tuttavia non è quello che l'OP sta chiedendo. – Sirs

44

Per utilizzare una specifica versione di istantanea di una dipendenza, la risorsa di riferimento deve essere installata/distribuita con un numero di versione di istantanea univoco. Vedere l'elemento uniqueVersion nello POM reference/Repository. In questo caso è possibile farvi riferimento come:

... 
<dependency> 
<groupId>groupid</groupId> 
<artifactId>artifact-id</artifactId> 
<version>1.0.0-20090610.041042-5</version> 
</dependency> 
... 

Maven Repository Manager server potrebbero avere funzioni correlate aggiuntive, come ignorando la pom.xml s' uniqueVersion impostazione. Ad esempio vedi Artifactory User Guide su questa funzione (in aggiunta, puoi leggere qui alcuni argomenti contro l'utilizzo di numeri di versione di istantanee univoci).

Problemi correlati