我有一个关于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?
答案 0 :(得分:1)
我怀疑你的gradle配置中的其他地方有问题。我认为你误解了gradle如何解决文物。
根据gradle docs(参见第8.5节)
项目可以有多个存储库。 Gradle会寻找一个 每个存储库按照指定的顺序依赖, 停在包含所请求模块的第一个存储库。
事实上,在gradle脚本中拥有多个存储库是相当普遍的。