Gradle依赖性解析

时间:2013-04-22 12:08:23

标签: java jar gradle dependency-management

我有一个关于gradle如何解析依赖关系的问题。

我有四个存储库,我需要调查不同的罐子,五个计算Maven central。因此,我在gradle.build中的repo语句如下所示:

repositories {

  maven {
    url 'urltoRepoA'
    artifactUrls mavenLocal()
  }
  maven {
    url 'urltoRepoB'
    artifactUrls mavenLocal()
  }
  maven {
    url 'urltoRepoC'
    artifactUrls mavenLocal()
  }
  maven {
    url 'urltoRepoD'
    artifactUrls mavenLocal()
  }

  mavenCentral()
}

我想要实现的目标: 在远程存储库和本地maven存储库中查找依赖项。

但我在下面得到这个错误,这是一个应该从repoA解决的jar(repoA是maven central的镜像,我已经验证了这个jar可以在那里找到)

[16:43:10][Step 1/3] > Could not resolve all dependencies for configuration ':runtime'.
[16:43:10][Step 1/3]    > Artifact 'junit:junit:4.11@jar' not found.

根据我在gradles手册中读到的内容,它尝试解析来自同一个repo的所有依赖项。那是我在这里跑的吗?或者我没有正确配置gradle?

1 个答案:

答案 0 :(得分:1)

我怀疑你的gradle配置中的其他地方有问题。我认为你误解了gradle如何解决文物。

根据gradle docs(参见第8.5节)

  

项目可以有多个存储库。 Gradle会寻找一个   每个存储库按照指定的顺序依赖,   停在包含所请求模块的第一个存储库。

事实上,在gradle脚本中拥有多个存储库是相当普遍的。