使用 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/