Come impostare l’ordine dei repository in Maven settings.xml

Ho 3 repository nel mio settings.xml perché ho bisogno di artefatti da tutti loro. Ogni volta che una dipendenza non viene trovata, Maven ci prova

Downloading: http://some.server/mvn2repo/releases/org/apache/lucene/lucene-core/2.9.1/... [INFO] Unable to find resource 'org.apache.lucene:lucene-core:pom:2.9.1' in repository Downloading: http://some.server/mvn2repo/3rdParty/org/apache/lucene/lucene-core/2.9.1/... [INFO] Unable to find resource 'org.apache.lucene:lucene-core:pom:2.9.1' in repository Downloading: http://repo1.maven.org/maven2/org/apache/lucene/lucene-core/2.9.1/lucene-core-2.9.1.pom  

tutti i repository, ma la maggior parte delle volte trova l’artefatto in centrale (repo1), naturalmente. Voglio che Maven controlli prima questo repo. Ho provato l’ordine delle dichiarazioni in settings.xml, ma non ha funzionato. Secondo fgysin ho anche provato l’ordine inverso, che non ha cambiato nulla.

La mia versione di Maven:

 C:\>mvn -v Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200) Java version: 1.6.0_15 Java home: C:\Program Files\Java\jdk1.6.0_15\jre Default locale: de_AT, platform encoding: Cp1252 OS name: "windows vista" version: "6.0" arch: "amd64" Family: "windows" 

Il mio settings.xml

   space    true   false  s1-releases System One Releases http://some.server/mvn2repo/releases    true   false  s1-3rdParty System One 3rd Party Releases http://some.server/mvn2repo/3rdParty    true   true  central http://repo1.maven.org/maven2      true   true  central http://repo1.maven.org/maven2      space  

Per quanto ne so, l’ordine dei repository in te pom.xml deciderà anche l’ordine dell’accesso al repository.

Per quanto riguarda la configurazione dei repository in settings.xml, ho letto che l’ordine dei repos è abbastanza interessante l’ordine inverso di come i repos saranno accessibili.

Ecco un post in cui qualcuno spiega questa curiosità:
http://community.jboss.org/message/576851

Nessuna di queste risposte era corretta nel mio caso .. l’ordine sembra dipendente dall’ordinamento alfabetico del tag , che è una stringa arbitraria. Quindi questo ordine di ricerca forzato repo:

   1_maven.apache.org  true   true  https://repo.maven.apache.org/maven2 default   2_maven.oracle.com  true   false  https://maven.oracle.com default  

Inoltre, considera di utilizzare un gestore di repository come Nexus e configurare lì tutti i tuoi repository.