2016-08-12 4 views
2

Warum sucht Gradle nicht in allen definierten maven repos nach Abhängigkeiten?Warum sucht gradle nicht nach Abhängigkeiten in anderen maven Repos?

Repos Block definiert:

repositories { 
    maven { 
     name = 'JBoss.org Maven repository' 
     url 'https://repository.jboss.org/nexus/content/groups/public' 
    } 
    maven { 
     name = 'spring-milestones' 
     url 'http://repo.springsource.org/libs-milestone/' 
    } 
    mavenCentral() 
} 

(Angenommen, ich irgendwo im Teilprojekt bekam net.sf.json-lib:json-lib:2.2.1) I erhalten:

* What went wrong: 
Could not resolve all dependencies for configuration ':myproject:compileClasspath'. 
> Could not find json-lib.jar (net.sf.json-lib:json-lib:2.2.1). 
    Searched in the following locations: 
     http://repo.springsource.org/libs-milestone/net/sf/json-lib/json-lib/2.2.1/json-lib-2.2.1.jar 

Warum das nur einen Such-Standort? Die json-lib existiert eindeutig in mavenCentral().

Gibt es eine Möglichkeit, dies zu profilieren oder irgendwie zu debuggen?

P.S. Ich könnte das beheben, wenn ich mavenCentral() eine Position in der Liste der Repos nach oben verschieben, aber das wird eine andere Subprojektabhängigkeit Auflösung aus dem gleichen Grund brechen - etwas aus "Frühjahr" Repo existiert nicht in mavenCentral().

Antwort

1

In der Tat sucht Gradle nach allen Maven Repos. Sie können sehen, dass JBoss Repo keine 2.2.1 Version von Json-Lib enthält, also springt es zum nächsten (Spring Repo).

Frühling Repo hat 2.2.1, aber hier ist das Problem, dass das Artefakt hat Verteilung angegeben, so, Sie müssen nur die Abhängigkeit beheben:

compile 'net.sf.json-lib:json-lib:2.2.1:jdk15' 
Verwandte Themen