2

我已发布 maven bom 并将其导入顶级 build.gradle.kts 为:

allProjects {
  dependencies {
        implementation(platform("com.example:some-dependencies:1.2.3"))
    }
}

然后在libs.versions.toml

[libraries]
some-bom = { group = "com.example", name="some-dependencies", version="1.2.3" }

当我将第一个代码示例更改为:

allProjects {
  dependencies {
        implementation(platform(libs.some.bom))
    }
}

我得到:

Could not resolve: javax.xml.bind:jaxb-api
Could not resolve: org.springframework.boot:spring-boot-starter-test
...

有没有办法使用带有 boms 的 Gradle 7 版本目录?

4

1 回答 1

4

就我而言,它刚刚奏效。我正在开发 Android 项目,我的脚本如下所示:

//libs.versions.toml
[libraries]
deps_okhttp_bom = "com.squareup.okhttp3:okhttp-bom:4.9.1"
deps_okhttp_lib = { module  ="com.squareup.okhttp3:okhttp" }
deps_okhttp_logging_interceptor = { module= "com.squareup.okhttp3:logging-interceptor"}

//build.xml
dependencies {
  implementation platform(libs.deps.okhttp.bom)
  implementation libs.deps.okhttp.lib
  implementation libs.deps.okhttp.logging.interceptor
}

在您的示例中,您刚刚为 BOM 添加了依赖项。但由于 BOM 只是描述每个库版本的规格表,因此您需要为特定库添加依赖项。

于 2021-05-11T11:26:27.797 回答