使用Gradle导入Spring Boot项目报错:无法应用org.springframework.boot插件
报错原因
你遇到的Configuration with name 'runtime' not found报错是多组件版本不匹配导致的:
- Spring Boot 1.5.3.RELEASE 官方仅支持JDK 8及更低版本,和你使用的JDK 11存在底层API兼容问题
- Spring Boot 1.5.x 版本对应的Gradle插件只适配Gradle 3.x及更低版本,Gradle 4.0+版本正式移除了旧的
runtime依赖配置,插件加载时找不到对应配置就会抛出异常
解决方案
方案一:保留原有Spring Boot 1.5.3版本(适用于老项目不改动业务代码的场景)
- 把JDK版本降级到1.8.x
- 把Gradle版本降级到3.5.x,这是和Spring Boot 1.5.3插件完全适配的Gradle稳定版本
- 临时兼容方案(不推荐,可能引发后续其他依赖问题):无需调整版本,在build.gradle文件开头、应用Spring Boot插件之前添加配置:
configurations.create('runtime')
方案二:适配现有JDK 11环境
你需要升级Spring Boot版本到2.x分支,同时调整构建配置:
- 把Spring Boot版本升级到
2.0.9.RELEASE及以上,该版本开始正式支持JDK 11 - 同步升级Spring Boot Gradle插件版本到和Spring Boot一致的版本
- 把build.gradle中所有声明为
runtime的依赖修改为runtimeOnly,适配Gradle 4.0+的依赖配置规则
内容的提问来源于stack exchange,提问作者Nguyen Phong
相关产品推荐
相关产品推荐

