Gradle 6项目在IntelliJ中刷新失败及Spring Boot版本异常求助
针对你遇到的两个关联问题,我整理了几个逐步排查的方案,都是基于类似场景的实际解决经验:
一、解决「Unable to load class 'org.gradle.api.internal.plugins.DefaultConvention'」错误
这个错误通常是IDEA与Gradle缓存不同步或者守护进程状态异常导致的——毕竟你命令行运行正常,说明Gradle本身配置没问题:
步骤1:清理Gradle本地缓存
关闭IDEA,找到你的Gradle用户目录(默认是~/.gradle,Windows是C:\Users\<你的用户名>\.gradle),删除caches文件夹下的gradle-6.0相关目录,或者直接删除整个caches文件夹(彻底但需要重新下载依赖,耗时稍久)。步骤2:重启Gradle守护进程
打开命令行,进入项目根目录,执行:# Mac/Linux ./gradlew --stop # Windows gradlew.bat --stop这会终止所有运行中的Gradle守护进程,消除异常状态。
步骤3:清理IDEA缓存并重启
打开IDEA,点击菜单栏File -> Invalidate Caches...,勾选「Clear file system cache and local history」,然后点击「Invalidate and Restart」。这一步能解决IDEA本地缓存与Gradle配置不一致的问题。步骤4:确认IDEA的Gradle配置
重启后,检查IDEA的Gradle设置:Settings -> Build, Execution, Deployment -> Build Tools -> Gradle,确保:- 「Use Gradle from」选择的是「gradle-wrapper.properties file」
- 「Gradle JVM」选择的是项目兼容的JDK(Spring Boot 2.1.7要求JDK 8,别选错成更高版本)
二、解决IDEA中Spring Boot版本显示为2.0.8的问题
这个问题本质是IDEA没有正确同步Gradle依赖,导致加载了旧版本的Spring Boot:
步骤1:强制刷新Gradle依赖
在IDEA右侧的Gradle面板中,点击顶部的「Refresh all Gradle projects」按钮旁边的下拉箭头,选择「Refresh Gradle Dependencies」,或者右键项目 ->Gradle -> Refresh Gradle Dependencies,强制IDEA重新拉取并解析依赖。步骤2:删除IDEA本地依赖库缓存
关闭IDEA,找到项目根目录下的.idea/libraries文件夹,删除里面所有的XML文件,这些是IDEA自动生成的依赖库配置文件。重新打开IDEA后,它会根据Gradle配置重新生成正确的依赖库信息。步骤3:强化依赖版本控制
你的build.gradle中使用的io.spring.dependency-management版本和Spring Boot 2.1.7是兼容的,可以尝试显式指定Spring Boot的依赖管理,确保所有相关依赖统一版本:
在dependencies块上方添加:dependencyManagement { imports { mavenBom "org.springframework.boot:spring-boot-dependencies:${springBootVersion}" } }步骤4:排查隐性依赖覆盖
检查是否有其他依赖间接引入了Spring Boot 2.0.8版本,执行命令行查看依赖树:./gradlew dependencies --configuration implementation如果发现有依赖强制引入旧版本,在
dependencies块中显式排除:implementation('某个依赖') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter' }
按照这些步骤逐一排查,应该能解决你的问题。
内容的提问来源于stack exchange,提问作者Fabry

