2016-08-12 42 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' 
相关问题