使用 Gradle 指定 BOM(类似于 Maven 的依赖管理)

背景

在我目前進行的PRJ項目中,遇到了導入多個相同groupId的模塊的機會,我不喜歡一個個指定版本,所以我查找了一種方法。

結果

如果提供了BOM,就使用实施平台。

dependencies {
    // gcp
    implementation platform('com.google.cloud:spring-cloud-gcp-dependencies:4.4.0')
    implementation 'com.google.cloud:spring-cloud-gcp-starter-storage'
    implementation 'com.google.cloud:spring-cloud-gcp-starter-bigquery'
    implementation 'com.google.cloud:spring-cloud-gcp-starter-logging'
}

顺便说一句,似乎只有在Gradle5.2及更高版本中才能使用这种写法。让我们使用新版本吧。

其他

春季引导

使用Spring Boot时,只需要加载插件就可以指定版本,非常方便。

plugins {
    id 'org.springframework.boot' version '3.1.0' // こいつでSpring Bootのバージョン指定
    id 'io.spring.dependency-management' version '1.1.0' // これも必須。入れないと依存解決ができない
}

依赖管理插件

使用上述导入的io.spring.dependency-management,即使不使用implementation platform,仍可按照以下方式指定。

dependencyManagement {
    imports {
        mavenBom 'com.google.cloud:spring-cloud-gcp-dependencies:4.4.0'
    }
}

即使不能指定BOM,也可以通过以下方式指定共同版本。

dependencyManagement {
    dependencies {
        dependencySet(group:'com.google.cloud', version: '4.4.0') {
            entry 'spring-cloud-gcp-starter-storage'
            entry 'spring-cloud-gcp-starter-bigquery'
            entry 'spring-cloud-gcp-starter-logging'
        }
    }
}

请提供更具体的上下文或者给出完整的句子。

    • https://docs.gradle.org/current/userguide/platforms.html#sub:bom_import

 

    https://docs.spring.io/dependency-management-plugin/docs/current/reference/html/
广告
将在 10 秒后关闭
bannerAds