2009-08-13 11 views
5

Nel mio settings.xml file Ho elencato i repository che voglio usare Maven (vedere il file sotto). Questi repository si trovano nella macchina di compilazione e sto lavorando in questo modo per prevenire un errore di compilazione quando non c'è alcuna connessione Internet nel computer di compilazione.Come posso impedire a Maven di cercare gli aggiornamenti dai repository che non elenco nel mio file settings.xml?

Il problema è che Maven cerca automaticamente gli aggiornamenti nel repository centrale (e probabilmente anche da altri repository non elencati) durante la compilazione. C'è un modo per prevenire questo comportamento?

... 
<profile> 
    <id>myProfile</id> 
    <repositories> 
    <repository> 
     <releases> 
     <updatePolicy>never</updatePolicy> 
     </releases> 
     <snapshots> 
     <updatePolicy>never</updatePolicy> 
     </snapshots> 
     <id>myRepo</id> 
     <url>file://${my.home}/maven/.m2/repository</url> 
     <layout>default</layout> 
    </repository> 
    </repositories> 
    <pluginRepositories> 
    <pluginRepository> 
     <releases> 
     <updatePolicy>never</updatePolicy> 
     </releases> 
     <snapshots> 
     <updatePolicy>never</updatePolicy> 
     </snapshots> 
     <id>myRepo</id> 
     <url>file://${my.home}/maven/.m2/repository</url> 
     <layout>default</layout> 
    </pluginRepository> 
    </pluginRepositories> 
</profile> 
... 

Nota: Utilizzando l'opzione non in linea (ad esempio -o bandiera) non è un'opzione per me. Quello che voglio veramente è che Maven usi solo i repository che elencho nel mio file settings.xml.

risposta

3

progetto Ogni Maven eredita la configurazione per il repository centrale dal Maven Super POM. Puoi utilizzare la funzione di mirror di Maven per reindirizzare le chiamate verso il centro del tuo repository preferito. A tale scopo, con l'aggiunta di un po 'di configurazione per il vostro settings.xml in questo modo:

<settings> 
... 
    <mirrors> 
    <mirror> 
     <id>central-proxy</id> 
     <mirrorOf>central</mirrorOf> 
     <url>http://myrepository/releases</url> 
    </mirror> 
    </mirrors> 
    .. 
</settings> 

Questa configurazione può neanche essere messo nelle impostazioni utente (. $ {} User.home/m2/settings.xml) o le impostazioni globali ({$ M2_HOME} /conf/settings.xml).

Problemi correlati