如何使 gradle 中的传递依赖项也使用依赖项的原始来源?
How can I make a transitive dependency in gradle also use the dependency's original source?
我有一个库,我称之为 core
,它是另一个名为 Museum
的项目的依赖项。在 core
的 build.gradle 中,我使用 gson-fire
,它被指定为以下方式的依赖项:
repositories {
maven { url 'https://raw.github.com/julman99/mvn-repo/master'}
}
...
dependencies {
compile 'com.github.julman99:gson-fire:0.11.0'
}
这工作正常 - core
已编译。但是,当我在我的 Museum
项目中使用它时,我得到以下信息:
A problem occurred configuring project ':Museum'.
> Could not resolve all dependencies for configuration ':Museum:_debugCompile'.
> Could not find com.github.julman99:gson-fire:0.11.0.
Searched in the following locations:
file:/Users/jwir3/.m2/repository/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.pom
file:/Users/jwir3/.m2/repository/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.jar
http://download.crashlytics.com/maven/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.pom
http://download.crashlytics.com/maven/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.jar
https://repo1.maven.org/maven2/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.pom
https://repo1.maven.org/maven2/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.jar
Required by:
museum:Museum:unspecified > com.jwir3.core:core:1.4.0-SNAPSHOT
Museum
的 build.gradle
如下所示:
dependencies {
compile ('com.thisclicks.core:core:' + project.CORE_LIB_VERSION+ '+@aar') {
transitive = true
}
}
推测这是因为core
库在Museum
的build.gradle
中被指定为transient = true
,但它没有正确的搜索位置gson-fire
的 Maven 存储库。有没有办法使这些搜索位置以及依赖项本身成为瞬时的?
不会自动,不会。传递依赖性不引入存储库信息,只引入工件本身。如果您希望它起作用,您必须将 core
项目中的 repositories { }
块添加到 Museum
项目中。
此外,在这种情况下不需要添加 transitive = true
。这是默认设置,如上所述,与此特定问题无关。
我有一个库,我称之为 core
,它是另一个名为 Museum
的项目的依赖项。在 core
的 build.gradle 中,我使用 gson-fire
,它被指定为以下方式的依赖项:
repositories {
maven { url 'https://raw.github.com/julman99/mvn-repo/master'}
}
...
dependencies {
compile 'com.github.julman99:gson-fire:0.11.0'
}
这工作正常 - core
已编译。但是,当我在我的 Museum
项目中使用它时,我得到以下信息:
A problem occurred configuring project ':Museum'.
> Could not resolve all dependencies for configuration ':Museum:_debugCompile'.
> Could not find com.github.julman99:gson-fire:0.11.0.
Searched in the following locations:
file:/Users/jwir3/.m2/repository/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.pom
file:/Users/jwir3/.m2/repository/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.jar
http://download.crashlytics.com/maven/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.pom
http://download.crashlytics.com/maven/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.jar
https://repo1.maven.org/maven2/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.pom
https://repo1.maven.org/maven2/com/github/julman99/gson-fire/0.11.0/gson-fire-0.11.0.jar
Required by:
museum:Museum:unspecified > com.jwir3.core:core:1.4.0-SNAPSHOT
Museum
的 build.gradle
如下所示:
dependencies {
compile ('com.thisclicks.core:core:' + project.CORE_LIB_VERSION+ '+@aar') {
transitive = true
}
}
推测这是因为core
库在Museum
的build.gradle
中被指定为transient = true
,但它没有正确的搜索位置gson-fire
的 Maven 存储库。有没有办法使这些搜索位置以及依赖项本身成为瞬时的?
不会自动,不会。传递依赖性不引入存储库信息,只引入工件本身。如果您希望它起作用,您必须将 core
项目中的 repositories { }
块添加到 Museum
项目中。
此外,在这种情况下不需要添加 transitive = true
。这是默认设置,如上所述,与此特定问题无关。