带有 Intellij 的 Gradle 6 - 刷新失败
Posted
技术标签:
【中文标题】带有 Intellij 的 Gradle 6 - 刷新失败【英文标题】:Gradle 6 with Intellij - refresh fails 【发布时间】:2020-03-14 18:04:10 【问题描述】:我有一个带有 Spring 2.1.7 的 gradle 6.0 项目。
当我尝试从 intellij refresh all gradle projects
时
我遇到了一个错误:
无法加载类“org.gradle.api.internal.plugins.DefaultConvention”。 此意外错误的可能原因包括:
Gradle 的依赖缓存可能已损坏(这有时会在网络连接超时后发生。) 重新下载依赖并同步项目(需要网络) Gradle 构建过程(守护程序)的状态可能已损坏。停止所有 Gradle 守护程序可能会解决此问题。 停止 Gradle 构建过程(需要重新启动) 您的项目可能正在使用与项目中的其他插件或项目请求的 Gradle 版本不兼容的第三方插件。 在 Gradle 进程损坏的情况下,也可以尝试关闭 IDE,然后杀死所有 Java 进程。
我使用 intellij v 2018.3.4,并且我已将其配置为使用 gradle 包装器:
gradle-wrapper.properties 如下所示:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
如果我从命令行运行 gradle 包装器,则没有问题。此外,如果我从 Intellij 触发 gradle 任务(构建、清理 ...),我没有错误。
我还有另一个可能与此相关的有线问题。在我的 build.gradle 中,我使用 spring boot 2.1.7,如果我从命令行运行我的 jar,我可以从 Spring Boot 横幅中看到配置的版本 2.1.7。 相反,如果我从 Intellij 运行应用程序,我会看到它正在使用 Spring Boot 2.0.8,如果我展开外部库树,我也会看到:
build.gradle 看起来像:
buildscript
ext
springBootVersion = "2.1.7.RELEASE"
springBootDepManagementVersion = "1.0.8.RELEASE"
plugins
id 'idea'
id 'java'
id "io.spring.dependency-management" version "$springBootDepManagementVersion"
id 'org.springframework.boot' version "$springBootVersion"
dependencies
implementation 'org.springframework.boot:spring-boot-starter-web'
....
谢谢
【问题讨论】:
很可能是您的 IntelliJ 版本不支持 Gradle 6.0。你的版本快一年了。不能升级吗? @BjørnVester 不幸的是我无法升级 intellij。我认为将 intellij 设置为使用包装器会是 gradle-version indipendent。 【参考方案1】:我解决了将 gradle 包装器降级到 5.6.4 的问题。 显然我的 Intellij 版本不支持 gradle 6.0.0
【讨论】:
【参考方案2】:降级对我也有帮助:
gradlew wrapper --gradle-version 5.6.4
【讨论】:
以上是关于带有 Intellij 的 Gradle 6 - 刷新失败的主要内容,如果未能解决你的问题,请参考以下文章
无法解决:带有 gradle 的 IntelliJ Idea 中的 com.google.android.gms:play-services
使用 Groovy、IntelliJ 和 Gradle 在项目中“重新运行 Spring Boot 配置注释处理器”
如何使旧的 Eclipse 项目在带有 Gradle 的 Android Studio 上运行? [关闭]
intellij idea 导入gradle项目卡在 gradle: build model...