2014-10-06 14 views
12

Voglio sapere che cosa esattamente Maven fa nella fase -U.Come funziona esattamente mvn -U?

L'argomento che ordina verifica la presenza di aggiornamenti sugli archivi remoti e, se necessario, l'aggiornamento del repository maven locale con le dipendenze aggiornate utilizzate nel nostro progetto.

Come descritto:

-U --update-snapshots Forces a check for updated releases and snapshots on remote repositories 

Ma, esattamente come è questo fatto? Maven prima di tutto sta scaricando tutti i repository remoti e decide localmente che devono essere aggiornati o, decidendo senza scaricarli prima? C'è qualche caso d'angolo che dovrebbe essere conosciuto?

versione mio Maven è:

Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T16:51:42+03:00) 
Maven home: /usr/local/Cellar/maven/3.2.2/libexec 
Java version: 1.7.0_60, vendor: Oracle Corporation 
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac" 

risposta

10

E 'fatto solo per i manufatti o le dipendenze a cui fa riferimento il progetto.

L'ultimo timestamp di controllo viene archiviato nei metadati degli artefatti locali (nel repository Maven locale), pertanto Maven può applicare diverse strategie con la frequenza con cui verificare gli aggiornamenti in base a tale. L'intervallo di aggiornamento predefinito per le istantanee è "giornaliero".

Vedere anche updatePolicy per archivi remoti in settings.xml di Maven.

+0

Grazie Eugenio. Non sono ancora sicuro di come il controllo degli aggiornamenti sia fatto esattamente. Puoi per favore elaborare? – Stas

+6

Gli aggiornamenti vengono verificati inviando una richiesta http per ciascun artefatto al repository Maven remoto e confrontando la data/ora della risorsa con la memoria locale dei manufatti di Maven (nota anche come repository Maven locale). –

+0

Grande, questo è esattamente quello che volevo sapere. – Stas

Problemi correlati