为什么gradle没有在ALL定义的maven repos中搜索依赖?
定义了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()
移动到repos列表中的一个位置,但这会打破另一个子项目依赖项解析的原因也是同样的 - 来自" spring" mavenCentral()
中不存在repo。
答案 0 :(得分:2)
事实上,gradle搜索所有maven repos。你可以看到JBoss repo不包含2.2.1版本的json-lib,因此,它会跳到下一个(spring repo)。
Spring repo有2.2.1,但是,这里的问题是工件指定了分布,所以,你只需要修复依赖:
compile 'net.sf.json-lib:json-lib:2.2.1:jdk15'