Grails 7.0.0-M4依赖Groovy版本不符问题咨询
Grails依赖中Groovy版本解析异常原因解析
核心原因:BOM版本管控优先级更高
你遇到的情况是Gradle依赖解析时,BOM(物料清单)声明的版本会覆盖直接依赖的版本。
从你的依赖树片段能看到,项目引入了org.apache.grails:grails-bom:7.0.0-M4,这个BOM又继承了org.springframework.boot:spring-boot-dependencies:3.5.0。Spring Boot的BOM中指定了Groovy版本为4.0.26,Gradle在解析依赖时会优先采用BOM里的版本,哪怕grails-common本身依赖的是4.0.27。
验证方法
执行以下命令可以明确看到Groovy版本的管控来源:
./gradlew dependencyInsight --dependency org.apache.groovy:groovy --configuration compileClasspath
该命令会直接显示版本选择的原因,以及是哪个依赖(通常是BOM)主导了版本决策。
若需升级到4.0.27的处理方案
- 直接在项目
build.gradle中强制指定版本:dependencies { constraints { implementation 'org.apache.groovy:groovy:4.0.27' } } - 先查看Grails 7.0.0-M4官方文档,确认版本兼容性——BOM指定的版本一般是经过官方测试的兼容版本,强制升级可能存在潜在风险。
内容的提问来源于stack exchange,提问作者Stefano Canepa
相关产品推荐
相关产品推荐

