问题描述
我已经发布了 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 只是描述每个库版本的规格表,您需要为特定库添加依赖项。