2011-10-10 18 views
26

Quindi ho un progetto e faccio regolari rilasci a Maven senza problemi. Ora voglio rendere disponibile una versione SNAPSHOT di questo progetto. Quindi faccio 'mvn clean deploy'. Tutto funziona come potete vedere qui sotto:Come scaricare la versione SNAPSHOT dal repository Maven SNAPSHOT?

[INFO] Recuperare precedente numero di build da Sonatype-nexus-istantanee Caricamento: https://oss.sonatype.org/content/repositories/snapshots/me/soliveirajr/menta-regex/0.9.6-SNAPSHOT/menta-regex-0.9.6-20111010.153035-2.jar 5K caricato (menta-regex-0.9.6-20111010.153035-2.jar)

vado al mio manager Sonatype ed io riesco a trovare l'istantanea: enter image description hereenter image description here

Ma ora quando cerco di usare questa istantanea come una dipendenza da qualche altro progetto in un'altra macchina ottengo:

<dependency> 
    <groupId>me.soliveirajr</groupId> 
    <artifactId>menta-regex</artifactId> 
    <version>0.9.6-SNAPSHOT</version> 
</dependency> 

mancante:

1) me.soliveirajr: menta-regex: jar: 0.9.6-SNAPSHOT

provare a scaricare il file manualmente dal sito web del progetto.

Quindi, installare con il comando: mvn install: installare file -DgroupId = me.soliveirajr -DartifactId = menta-regex -Dversion = 0.9.6-SNAPSHOT -Dpackaging = vaso -Dfile =/path/to/file

In alternativa, se si ospita il proprio repository è possibile distribuire il file c'è: mvn deploy: distribuire file -DgroupId = me.soliveirajr -DartifactId = menta-regex -Dversion = 0.9.6-SNAPSHOT -Dpackaging = jar -Dfile =/percorso/to/file -Durl = [url] -DrepositoryId = [id]

Quindi, come faccio a convincere Maven a scaricare la versione SNAPSHOT nel mio repository locale (.m2)?

risposta

41

Basta aggiungere questo al tuo ~/.m2/settings.xml:

<profiles> 
    <profile> 
    <id>allow-snapshots</id> 
     <activation><activeByDefault>true</activeByDefault></activation> 
    <repositories> 
     <repository> 
     <id>snapshots-repo</id> 
     <url>https://oss.sonatype.org/content/repositories/snapshots</url> 
     <releases><enabled>false</enabled></releases> 
     <snapshots><enabled>true</enabled></snapshots> 
     </repository> 
    </repositories> 
    </profile> 
</profiles> 
+1

Bel esempio, per qualsiasi lettore: si prega di notare che se si sta cercando l'ultima istantanea JaCoCo, non commettere lo stesso errore che ho fatto e copiare questo esempio. Perché è un plugin e hanno diversi repo. Vedi questa risposta: https://stackoverflow.com/a/46682942/1546042 –

2

http://maven.40175.n5.nabble.com/How-to-enable-SNAPSHOT-td130614.html

State configurato per abilitare le istantanee?

+0

Per l'URL snapshot, cosa posso usare? Nell'esempio ha: http: // snapshots? Sto probabilmente cercando il repository di snapshot di nexus. – chrisapotek

+1

Penso di aver capito: https://oss.sonatype.org/content/repositories/snapshots/ – chrisapotek

+0

Dovresti configurarlo per tutti i repository di istantanee che vuoi, ma sembra che abbia quello che stavi cercando for - cool :) –

Problemi correlati