簡體   English   中英

為什么 gradle 不在其他 maven repos 中搜索依賴項?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM