Gradle 现在支持版本目录,它的优点是可以生成类型安全的访问器来引用依赖项,例如
testImplementation(libs.mockk)
支持自动完成。
此类版本目录可以在构建本身中定义,但也可以发布并由其他项目使用。例如,Micronaut 就是这样做的,允许在设置文件中执行
versionCatalogs {
create("mn") {
from("io.micronaut:micronaut-bom:3.3.0")
}
}
然后在构建文件中
dependencies {
implementation(mn.picocli)
}
也支持覆盖导入目录中的版本。
与 Spring Boot BOM 一起发布这样的版本目录将是一个很好的功能,它将允许从 spring 依赖项插件迁移出去,现在 gradle 似乎支持其功能(使用版本目录和平台插件),并受益于依赖项类型安全访问器的额外优势。