Gradle:为依赖项指定适当的repo
我有几个回购协议和很多依赖关系。 在build.gradle中看起来是这样的:Gradle:为依赖项指定适当的repo,gradle,build.gradle,Gradle,Build.gradle,我有几个回购协议和很多依赖关系。 在build.gradle中看起来是这样的: repositories { maven {url "A"} maven {url "B"} } dependencies { compile 'libA' compile 'libB' compile 'libC' } 有没有办法指定我将从一个repo(a)下载libA,从另一个repo(B)下载libB和libC?没有办法将依赖项与存储库关联起来。存储库将始终按照其声
repositories {
maven {url "A"}
maven {url "B"}
}
dependencies {
compile 'libA'
compile 'libB'
compile 'libC'
}
有没有办法指定我将从一个repo(a)下载libA,从另一个repo(B)下载libB和libC?没有办法将依赖项与存储库关联起来。存储库将始终按照其声明的顺序进行搜索。从2019年1月起,这是可能的。假设您有针对oracle deps的特定回购协议:
maven {
url 'https://artifactory.mycompany.com/somepath/oracle-binaries/'
content {
includeGroupByRegex "com\\.oracle.*"
}
}
注:这至少需要5.1级
请参见为什么需要这样做?libA是否也存在于repoB中,libB/libC是否存在于repoA中,但存在您不想解析的不同版本?我不认为gradle支持用户提供的最新策略或冲突策略,所以您可能会被卡住。在gradle 4.3之后,这会变得相关吗?请参见回答@Matt,这通常是在从专有供应商导入软件时完成的。如果他们只是把代码放在Maven或通常的地方,我们就不必配置这些东西……如果在上面的例子中,两个Maven repo都包含一个“libZ”,这是否意味着libA将从Maven repo a中提取?如果找到匹配的版本,是的。这个答案是过时的,不应该被接受。看见