0

我对 gradle 如何解决我的依赖项有疑问。

我有四个存储库需要针对不同的 jar 进行调查,其中五个是 Maven 中心。因此,我在 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?

4

1 回答 1

2

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

根据gradle docs(见第 8.5 节)

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

事实上,在一个 gradle 脚本中有多个存储库是很常见的。

于 2013-04-22T13:14:13.013 回答