java - 带有 Intellij 的 Gradle 6 - 刷新失败
问题描述
我有一个带有 Spring 2.1.7 的 gradle 6.0 项目。
当我尝试refresh all gradle projects
从 intellij
我收到一个错误:
无法加载类“org.gradle.api.internal.plugins.DefaultConvention”。此意外错误的可能原因包括:
在 Gradle 进程损坏的情况下,您还可以尝试关闭 IDE,然后杀死所有 Java 进程。
- Gradle 的依赖缓存可能已损坏(有时会在网络连接超时后发生。)重新下载依赖并同步项目(需要网络)
- Gradle 构建过程(守护进程)的状态可能已损坏。停止所有 Gradle 守护程序可能会解决此问题。停止 Gradle 构建过程(需要重新启动)
- 您的项目可能正在使用与项目中的其他插件或项目请求的 Gradle 版本不兼容的第三方插件。
我使用 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'
....
}
谢谢
解决方案
我解决了将 gradle 包装器降级到 5.6.4 的问题。显然我的 Intellij 版本不支持 gradle 6.0.0
推荐阅读
- excel - 从多个 Excel 文件复制数据
- ionic3 - Ionic 应用程序大小超过 60MB
- c# - 从 Xml 克隆一个节点并在没有 Xml NS 验证的其他地方使用它
- ios - 表格视图单元格中的 uicollection 视图出现错误:索引超出范围,为什么?
- javascript - 浏览器在附加版本控制后也没有选择最新代码?
- amazon-web-services - AWS Batch 成功后终止 EC2 实例
- ruby-on-rails - 如何将 act_as_votable gem 限制为 Rails 中的一个模型
- react-native - react native - 使用“prop-types”在组件中回调
- angular6 - 获取 TypeError: .finalize 不是 Rxjs6 中的函数
- node.js - 将全局变量注入节点上下文