2015-11-04 16 views
5

Gradle può impostare più repository, ad es. maven e jcenter. Ma ho capito che gradle usa sempre jcenter prima anche se maven prima di jcenter (come sotto). È possibile rendere Maven (repo locale e più veloce) avere maggiore priorità?Gradle è possibile utilizzare repository Maven con priorità più alta di jcenter

## in file build.gradle 
allprojects { 
    repositories { 
    maven { url "http://nexus.mucompany.com/nexus/service/local/repositories/releases/content/" } 
    jcenter() 
} 
+0

ho solo risposto ad una [domanda molto simile] (http://stackoverflow.com/questions/33488603/gradle- mai-resolves-artifactory-before-jcenter-repository-for-dependencies/33488999 # 33488999) oggi. Si utilizza un repository binario per evitare di andare direttamente a 'jcenter' o' mavenCentral'. Configura il tuo Nexus su proxy 'jcenter' e usalo solo. – JBaruch

+1

È una buona idea semplificare conf e utilizzo. Cercherò. Grazie. –

+0

sei più che benvenuto a votare la risposta alla domanda collegata :) – JBaruch

risposta

5

vorrei chiedere a questo come un commento, ma non ho ancora avuto abbastanza rep: -/

potete inserire l'output di gradle --debug che ti fa pensare che la risoluzione da jcenter di preferenza?

Il Gradle docs contengono quanto segue:

Un progetto può avere più repository. Gradle cercherà una dipendenza in ogni repository nell'ordine in cui sono specificati, fermandosi al primo repository che contiene il modulo richiesto.

Una conferma rapida mostra a livello locale che l'ordine è stato premiato tra i repository Maven personalizzati e jcenter()

+0

Aggiungi registro gradle debug (registro parziale) sopra. Mostra 5 repo in ordine, MavenLocal, Maven, BintrayJcenter, maven2 e maven3. Il mio server di posta elettronica locale e il repository di maven della mia azienda non hanno il jar richiesto, quindi va sempre a jcenter. –

+0

Aggiunta di registri che sono stati aggiunti originariamente dal commento precedente: [pastebin] (http://pastebin.com/yTtq22Eu) – lemoncurd

+0

Guardando i registri (sopra) sembra che tu abbia più dei due repository specificati nella tua domanda. Forse avete aggiunto alcuni repository aggiuntivi (forse un 'init.gradle' o' settings.gradle 'errato da qualche parte nel vostro project o home directory, o un plugin aziendale personalizzato li sta aggiungendo). Per contrasto, il mio Gradle pulita costruire con i due pronti contro termine dà questo output: '18: 17: 20,637 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver] Il tentativo di risolvere i componenti per joda-time: joda-time: 2.9 usando i repository [BintrayJCenter, maven] ' – lemoncurd

Problemi correlati