【问题标题】:Eclipse Gradle Plugin 'could not fetch model of type'Eclipse Gradle 插件“无法获取类型的模型”
【发布时间】:2014-12-04 13:31:24
【问题描述】:

我在 OS X 上使用 Gradle IDE 3.6.1 运行 Eclipse Luna,每当我尝试从 gradle 任务面板中选择一个项目时,我都会收到以下错误:

org.eclipse.osgi.internal.framework.EquinoxConfiguration$1
Could not fetch model of type 'EclipseProject' using Gradle distribution 
'https://services.gradle.org/distributions/gradle-2.0-bin.zip'.

还有其他人遇到过这个错误吗?我可以访问指定的 URL 来自己下载文件。因此,网络连接应该不是问题。

【问题讨论】:

    标签: eclipse gradle gradle-eclipse


    【解决方案1】:

    我在 Eclipse 2021-06、Java 1.8.0、gradle 4.4 中遇到了这个错误。 我尝试删除 gradle wrapper 二进制文件夹,预定义 gradle 版本等。

    在选择覆盖工作区配置后,只需指定 gradle 主目录和 java 主目录。

    【讨论】:

      【解决方案2】:

      问题出在 IDE(Eclipse 或 Spring Tool Suite)上默认配置的 java 版本。错误如下:

      要修复它,您可以在 Configure Workspace Setting 选项中设置 Gradle 版本支持的 Java 版本。

      最后,您可以刷新您的项目或继续您的创作。以后一切都会完美的。

      【讨论】:

      • 不知道它为什么起作用以及会有什么副作用。不过谢谢
      【解决方案3】:

      我有一个非常相似的问题,并从我的 build.gradle 中删除以下内容修复了它。相同的配置在我拥有的所有其他 Gradle 项目中都有效,但由于某种原因不是这个......

      allprojects {
          ...
          apply plugin: 'eclipse-wtp'
          ...
          // remove this eclipse config to make the error go away
          eclipse {
              classpath { defaultOutputDir = file('build-eclipse') }
          }
          ...
      }
      

      【讨论】:

        【解决方案4】:

        从项目中删除 .gradle 文件夹解决了我的问题。

        【讨论】:

          【解决方案5】:

          没有一个解决方案对我有用,我在 STS 4 上遇到了同样的错误,eclipse 版本:2.2.600.v20190605-1800。我的步骤是:

          1. 从我的工作区中删除项目
          2. ./gradlew cleanEclipseWtp cleanEclipse eclipseWtp eclipse

          3. 将项目作为现有的 eclipse 项目导入(不是现有的 gradle 导入)

          成功了!

          【讨论】:

            【解决方案6】:

            我在 Eclipse Neon 中遇到了同样的错误(版本号不同,但错误相同)。看起来有几个不同的事情会导致这个错误,但对我来说,这是 [MyProject]/.settings/org.eclipse.buildship.core.prefs 中的一个不正确的属性。

            我有

            connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
            

            但它必须是

            connection.gradle.distribution=GRADLE_DISTRIBUTION(VERSION(2.13))
            

            2.13 应替换为您从 gradle -version 获得的任何版本号输出。

            回来补充: 事实证明,真正的根本问题是 Gradle 版本之间的不兼容。我的 build.gradle 文件在旧版本的 Gradle 上运行良好,但使用了后来版本中已弃用和删除的东西。

            解决方案是在向导中立即单击“完成”而不是“下一步”,然后修复 build.gradle 中的问题。

            【讨论】:

            • 该行由 Windows/Preferences/Gradle 设置。这与此错误“无法获取类型的模型”无关。
            • 嗯,这就是我看到的错误,更改该行为我修复了它。
            • 只是有些 Gradle 版本意外覆盖了另一个问题。
            • 是的,我一点也不怀疑,但我不知道那个问题是什么。也许我的修复并没有真正解决根本问题,但它解决了它,所以它不再是我的问题,让我可以重新开始工作。
            • 当然。没有什么反对的。很多时候,临时解决方案就足够了。这对您来说是一个很好且可以接受的解决方案。但是 Eclipse 插件的作者仍然应该寻找错误。至于我……看来,由于这个错误,我必须使用 Maven 而不是 Gradle。
            【解决方案7】:

            您需要更新 Gradle 去: 选择“Help > About Eclipse”(在 Mac 上是“Eclipse > About Eclipse”)。

            单击“安装详细信息”按钮以显示安装详细信息对话框。查看“已安装的软件”选项卡以查看所有已安装的插件。

            搜索 Gradle(Eclipse Plug-ins for Gradle) 并更新。

            之后第一次可能需要一些时间。

            【讨论】:

              【解决方案8】:

              我在使用 eclipse Oxygen (4.7.2),在导入项目时遇到了类似的异常,这对我有用:

              • 在 Windows 上导入时导入选项
              • 点击配置工作区设置(将进入首选项窗口)
              • 选择本地安装目录(我选择了'graddle wrapper')
              • 应用、关闭并继续导入

              以下是我遇到的错误

              Loading Gradle project preview failed due to an error in the referenced Gradle build.
              Could not fetch model of type 'GradleBuild' using Gradle distribution 'https://services.gradle.org/distributions/gradle-3.5-bin.zip'.
              
              _BuildScript_
              org.gradle.tooling.BuildException: Could not fetch model of type 'GradleBuild' using Gradle distribution 'https://services.gradle.org/distributions/gradle-3.5-bin.zip'.
                  at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:51)
                  at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)
                  at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:41)
                  at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57)
                  at Caused by: java.lang.ClassNotFoundException: _BuildScript_
                  at org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler$ScriptClassLoader.loadClass(DefaultScriptCompilationHandler.java:386)
                  ... 77 more
              
              
              

              【讨论】:

                【解决方案9】:

                在我的情况下,我将 Gradle 版本从 4.7.rc2 更改为 4.6,然后它开始工作。

                【讨论】:

                  【解决方案10】:

                  我最近遇到了一个类似的问题——即使把项目吹走并从 git 中删除一个新副本也没有解决它。当我在 Eclipse 之外复制它时,我意识到它并不是特定于项目的:

                  $ ./gradlew tasks
                  
                  FAILURE: Build failed with an exception.
                  
                  * What went wrong:
                  Expecting a stack map frame
                  Exception Details:
                    Location:
                      build_euvk0e0guiuwrf8fgn8svi2fy.run()Ljava/lang/Object; @16: aconst_null
                    Reason:
                      Error exists in the bytecode
                    Bytecode:
                      0x0000000: 2abb 0022 592a 2ab7 0025 ba00 3300 00b0
                      0x0000010: 01b0                                   
                  

                  做了什么修复它删除了 gradle 缓存:

                  $ rm -r ~/.gradle/caches 
                  $ ./gradlew tasks
                  

                  不知何故,那里的 gradle 版本已损坏(可能与 Eclipse groovy 插件有关 - 在卸载它之前我经常遇到这个问题),并且将它吹走迫使它获得一个新副本。

                  希望这个答案可以帮助其他人避免拔头发。

                  【讨论】:

                    【解决方案11】:

                    配置中的错误引用。

                    覆盖配置:
                    项目 -> 属性 -> Gradle -> 覆盖工作区设置 ->
                    特定 Gradle 版本 -> 4.x

                    【讨论】:

                    • 我用 Brew 下载了 gradle 6.9 并指定本地安装导致我出现此错误。这个解决方案(设置特定版本)对我来说就像一个魅力。
                    【解决方案12】:

                    此错误也可能是由 build.gradle 的上一行中的语法错误引起的。如果是这样,则该错误与您正在运行的 Gradle 或 Eclipse 版本无关。见this question

                    【讨论】:

                      【解决方案13】:

                      在我的例子中,我忘了把结束撇号 ' 作为一个值

                      【讨论】:

                        【解决方案14】:

                        打开CMD并输入gradle --gui,将寄存器Setup中的gradle gui的设置更改为堆栈跟踪输出:完整堆栈跟踪[-S]并将日志级别更改为信息。然后把当前目录改成你的build.gradle文件所在的目录,然后进入第一个寄存器,让gui处理这个文件。

                        应该显示一条错误消息。在那里你会发现你的 build.gradle 文件有什么问题。在我的情况下,缺少一个文件夹,这会导致此错误。

                        【讨论】:

                          【解决方案15】:

                          我遇到了同样的问题,有人建议gradle项目可能是由旧版本构建的。 我通过以下步骤解决问题:

                          1. 修改Eclipse中的配置,perfence ->gradle ->gradle distribution 。将其指向旧版本。
                          2. 删除./gradle/wrapper中的文件
                          3. 重新加载程序

                          【讨论】:

                            【解决方案16】:

                            我在使用 Eclipse 4.5 时遇到了同样的错误消息 在我的情况下,构建文件有错误,我不得不修改这一行

                            eclipse.classpath  {
                                plusConfigurations += configurations.providedCompile
                            }
                            

                            进入这个

                            eclipse.classpath  {
                                plusConfigurations += [configurations.providedCompile]
                            }
                            

                            之后一切都恢复正常了。

                            【讨论】:

                              【解决方案17】:

                              它发生的原因,因为可以下载新版本的 gradle。一旦你下载了新版本的 gradle,你的错误就会消失。

                              http://gradle.org/downloads

                              【讨论】:

                              • 抱歉,我有 Gradle 4.4.1,来自 2017 年 12 月,并且有同样的错误。显然,这不是解决方案。只是有些 Gradle 版本意外覆盖了另一个问题。但是我们应该解决真正的问题,而不是检查不同的版本以确保某些版本会起作用。
                              • 我使用的是 4.6,但仍然面临同样的问题。使用 maven 似乎比 Gradle 更容易和简单
                              【解决方案18】:

                              Eclipse 4.4.1 在系统属性中使用非字符串值破坏了 Gradle Eclipse 支持。这已在 3.6.2 版本的最新 Gradle 中得到修复。从这个更新站点更新你的 Gradle:http://dist.springsource.com/snapshot/TOOLS/gradle/nightly

                              【讨论】:

                              • Gradle 版本号和您引用的链接都不存在。
                              • 我猜你的意思不是 Gradle 的 3.6.2 版本(目前最新的是 2.13),而是 Gradle IDE 的 3.6.2(或更新版本)?不幸的是,Eclipse 4.5.2 上的 Gradle IDE 3.7.3 也会发生这种情况。
                              • 2017 年 12 月的 Gradle 4.4.1 仍然存在同样的问题。
                              猜你喜欢
                              • 1970-01-01
                              • 1970-01-01
                              • 2017-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              相关资源
                              最近更新 更多