看来 gradle 在下游模块中忽略了我的平台。
我有一个依赖 BOM 的项目:
artifactId = "foo"
groupId = "bar"
version = "1.0"
dependencies {
api platform("baz:1.0.0")
api("something:boom")
// Depends on some other version of boom transitively.
implementation("something:with-transitive-dependency-on-boom")
}
现在我将它推送到 Maven 本地存储库gradle publishToMavenLocal
。
我有另一个通过 maven 存储库依赖于此的项目:
artifactId = "asd"
groupId = "def"
version = "1.0"
repositories {
mavenLocal()
}
dependencies {
implementation("foo:bar:1.0")
}
在asd:def
项目中,版本something:boom
不是取自平台,而是来自something:with-transitive-dependency-on-boom
.
我希望下游项目只依赖于我的项目,我们将为它们声明正确的依赖关系。他们不应该重新应用平台来获得正确的依赖关系。任何想法如何做到这一点?
更烦人的是,它在 Maven 中按预期工作......