Gradle:为依赖项指定适当的repo

ole*_*dar 5 gradle build.gradle

我有几个repos和很多依赖项.它在build.gradle中看起来像这样:

repositories {
    maven {url "A"}
    maven {url "B"}
}


dependencies {
    compile 'libA'
    compile 'libB'
    compile 'libC'
}
Run Code Online (Sandbox Code Playgroud)

有没有办法如何指定我将从一个repo(A)下载libA,从另一个repo(B)下载libB和libC?

Avi*_*ran 18

从2019年1月开始,这是可能的。假设您有一个针对Oracle Deps的特定仓库:

 maven {
    url 'https://artifactory.mycompany.com/somepath/oracle-binaries/'
    content {
        includeGroupByRegex "com\\.oracle.*"
    }
 }
Run Code Online (Sandbox Code Playgroud)

注意:这至少需要Gradle 5.1

参见https://docs.gradle.org/5.1.1/release-notes.html#repository-to-dependency-matching

  • 除了`includeGroupByRegex`之外,还有:`includeGroup`、`includeModule`、`includeModuleByRegex`、`includeVersion`、`includeVersionByRegex`。(还有一些排除选项) (2认同)

Pet*_*ser 10

无法将依赖项与存储库相关联.将始终按其声明的顺序搜索存储库.

  • 这个答案已经过时,不应被接受。见 /sf/answers/3812589861/ (3认同)
  • 如果找到匹配的版本,是的. (2认同)