[英]Why gradle doesn't search for dependency in other 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()
。
有什么方法可以分析它,或者以某種方式調試?
PS我可以解決這個問題,如果我將mavenCentral()
在 repos 列表中上移一個位置,但這會以同樣的原因破壞另一個子項目的依賴解析mavenCentral()
中不存在來自“spring”repo 的東西。
事實上,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'
就我而言,依賴關系一切正常,但 gradle 仍然無法從我擁有的 5 個存儲庫之一中找到工件。 幫助我的是--refresh-dependencies選項
即, gradle clean build --refresh-dependencies
我知道我無法找到確切的問題,但這給了我一個快速的解決方案。 請注意,將再次下載所有依賴項,這可能需要一些時間
我的 gradle 版本是 6.5.1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.