What does kotlin-bom library do?

Yev*_*hii 6 gradle kotlin

我在 Gradle 下创建了新的 Kotlin 项目。默认情况下,它将此依赖项设置为 Kotlin-library 项目。我想知道这个kotlin-bom库有什么作用?

dependencies {
    // Align versions of all Kotlin components
    implementation(platform("org.jetbrains.kotlin:kotlin-bom"))

    // Use the Kotlin JDK 8 standard library.
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")

    // Use the Kotlin test library.
    testImplementation("org.jetbrains.kotlin:kotlin-test")

    // Use the Kotlin JUnit integration.
    testImplementation("org.jetbrains.kotlin:kotlin-test-junit")
}
Run Code Online (Sandbox Code Playgroud)

Col*_*ett 9

该kotlin-bom工件是一个仅依赖 POM,它将所有 Kotlin SDK 库与同一版本对齐。

有关示例,请参阅版本 1.3.72 的 POM 内容。它采用了POM的dependencyManagement部分依赖于同一版本的所有科特林SDK文物,像kotlin-stdlib,kotlin-stdlib-jdk8,kotlin-reflect,kotlin-test,等。

BOM 说明

软件物料清单 (BOM) 不指定对模块或文件的依赖关系,而是指定其他组件的版本约束列表。它们定义了所谓的平台,它基本上是具有特定版本的组件列表,这些组件可以很好地协同工作和/或形成有用的功能单元。值得一提的是,并非 BOM 中列出的所有依赖项实际上都必须包含在您的项目中——这基本上是一种说“如果您使用这些模块中的任何一个,请使用此版本”的方式。
--深入了解最初的 Kotlin build.gradle.kts