在Gradle中,平台和常规依赖项一样,被限定为给定的配置(以及扩展它的配置)。
在您的示例中,BOM仅用于
implementation
因此,将只为这种配置和扩展它的配置提供建议,比如
compileClasspath
或
runtimeClasspath
.
为了解决您的问题,您需要将BOM声明为您希望从其推荐版本中获益的所有配置。
您可以通过重复声明来实现这一点:
compileOnly platform("org.springframework.boot:spring-boot-dependencies:${project.'spring-boot-dependencies.version'}")
annotationProcessor platform("org.springframework.boot:spring-boot-dependencies:${project.'spring-boot-dependencies.version'}")
或者您可以创建一个专用的配置,并使所有需要约束的配置扩展它:
configurations {
springBom
compileOnly.extendsFrom(springBom)
annotationProcessor.extendsFrom(springBom)
implementation.extendsFrom(springBom)
}
dependencies {
springBom platform("org.springframework.boot:spring-boot-dependencies:${project.'spring-boot-dependencies.version'}")
}