maven bom 的 Gradle 7.0 版本目录

问题描述

我已经发布了 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 版本目录?

解决方法

就我而言,它刚刚奏效。我正在处理 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 只是描述每个库版本的规格表,您需要为特定库添加依赖项。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...