我该如何解决此错误; java.lang.ClassNotFoundException:org.gradle.api.internal.plugins.DefaultConvention

时间:2019-12-28 08:40:32

标签: spring-boot gradle intellij-idea

当我想要构建Gradle时,出现以下错误。

能请你帮我吗?

非常感谢。

java.lang.NoClassDefFoundError:org / gradle / api / internal / plugins / DefaultConvention 在org.jetbrains.plugins.gradle.tooling.builder.ProjectExtensionsDataBuilderImpl.buildAll(ProjectExtensionsDataBuilderImpl.groovy:50)处 ...更多122

我的Gradle最新版本是6.0.1。

我还张贴到Github。您可以在此处找到错误的详细信息和我的Gradle代码; https://github.com/gradle/gradle/issues/11769

3 个答案:

答案 0 :(得分:0)

您的某个插件(某种类型的jetbrains插件)似乎与Gradle 6不兼容。我猜您可以通过任一方法解决此问题

  • 使用较旧版本的Gradle
  • 升级到支持Gradle 6的较新版本的插件

似乎jetbrains插件在“内部”包中引用了Gradle类。这些类不是公共API的一部分,可以在Gradle版本之间更改(或删除),而无需另行通知,因此出现了NoClassDefFoundError。理想情况下,插件应仅引用公共API

答案 1 :(得分:0)

对于我的Idea 2018.2,它不使用内置的gradle包装器,而是安装了gradle 5.6.4(具有org / gradle / api / internal / plugins / DefaultConvention)并在导入项目时指定了该gradle的主目录到想法。

答案 2 :(得分:0)

在 IntelliJ Idea 的项目目录下(左侧面板)转到: gradle -> 包装器 -> gradle-wrapper.properties 更新 distributionUrl 如下。 (这里的gradle版本是5.6) distributionUrl=https://services.gradle.org/distributions/gradle-5.6-bin.zip