能否通过Spring Boot Gradle插件限制依赖管理至指定配置?
解决Spring Boot Gradle插件覆盖依赖管理配置范围的问题
你遇到的问题根源在于:Spring Boot的Gradle插件在检测到io.spring.dependency-management插件已应用时,会自动执行逻辑覆盖你之前指定的依赖管理配置范围,默认将Spring Boot BOM应用到所有Gradle配置上。
以下两种方案可以让依赖管理仅作用于你指定的配置集合:
方案一:调整插件应用顺序
先应用Spring Boot插件,再手动配置依赖管理的范围,这样自定义配置会覆盖插件的默认设置:
apply plugin: "org.springframework.boot" apply plugin: "io.spring.dependency-management" dependencyManagement { configurations(compile, compileOnly, runtime, annotationProcessor) { imports { mavenBom(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES) } } }
方案二:禁用Spring Boot插件的自动依赖管理配置
通过配置关闭Spring Boot插件自带的依赖管理自动初始化,完全由自定义规则控制:
apply plugin: "io.spring.dependency-management" apply plugin: "org.springframework.boot" springBoot { dependencyManagement { enabled = false } } dependencyManagement { configurations(compile, compileOnly, runtime, annotationProcessor) { imports { mavenBom(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES) } } }
这两种方案在你使用的spring-boot-gradle-plugin:2.4.13和Gradle 5.6.4版本中均能正常生效。
内容的提问来源于stack exchange,提问作者Simon Hutchinson
相关产品推荐
相关产品推荐

