2016-08-12 36 views
2

爲什麼gradle沒有在ALL定義的maven repos中搜索依賴關係?爲什麼gradle不會在其他maven repos中搜索依賴項?

回購塊定義:

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() 
} 

(假設我在某處子項目net.sf.json-lib:json-lib:2.2.1)我收到:

* 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 

爲什麼只有一個搜索位置? json-lib明確存在於mavenCentral()中。

是否有任何方法來分析,或以某種方式調試?

P.S.我可以修復,如果我將mavenCentral()移動到回購列表中的一個位置,但是由於同樣的原因,這將打破另一個子項目依賴關係解決方案 - mavenCentral()中不存在某些來自「spring」回購的內容。

回答

1

實際上,gradle會搜索所有maven回購站。你可以看到JBoss repo不包含2.2.1版本的json-lib,所以它跳到下一個(spring回購)。

春天回購了2.2.1,但是,這裏的問題是,神器已分配指定的,所以,你只需要修復的依賴性:

compile 'net.sf.json-lib:json-lib:2.2.1:jdk15' 
相關問題