【问题标题】:Eclipse not recognizing Gradle dependenciesEclipse 无法识别 Gradle 依赖项
【发布时间】:2016-11-05 09:41:50
【问题描述】:

我是 Gradle 新手,我正在尝试本教程 https://spring.io/guides/gs/rest-service/ 我能够使用所需的依赖项编译 jar 并运行它。 但是,我发现 IDE 无法识别这些库,这很烦人。

还有办法吗?

【问题讨论】:

  • 我猜你的IDE是Eclipse。安装 Buildship eclipse 插件,并按照其说明将 gradle 项目加载到 Eclipse 中。 marketplace.eclipse.org/content/buildship-gradle-integration
  • 我的 IDE 是 Spring Tool Suite,据我所知没有必要下载它。
  • 然后按照它的说明进行操作。你必须有类似 File - import - gradle project 之类的东西。
  • 您的 Eclipse 项目是 Gradle 项目还是只是一个普通的 Java 项目?如果是 Gradle,右键单击项目并选择“Gradle (STS)”>“全部刷新”。如果不是 Gradle,请右键单击项目并选择“配置”>“转换为 Gradle (STS) 项目”。
  • 解决了,因为 JB Nizet 建议 Buildship 是必要的,并且项目需要转换为 Gradle,正如 Andreas 所说。谢谢大家

标签: java eclipse gradle dependencies


【解决方案1】:

你应该使用 gradle eclipse 插件。将此添加到您的 build.gradle 文件中:

apply plugin: "eclipse"

这会将与 Eclipse 相关的任务添加到您的构建中。通过执行

gradlew cleanEclipse eclipse

Gradle 将根据项目的当前依赖关系重新生成所有 eclipse 项目和类路径文件。但是,您需要刷新 IDE 以使更改可见。

还有一件事需要考虑。由于 eclipse 并没有真正意识到 gradle 依赖项——它仅通过生成的类路径文件知道它们——新的依赖项只有在重新生成这些文件后才能对 eclipse 可见。此外,在 eclipse 中添加的依赖项对您的 gradle 构建不可见,并且在重新生成类路径文件后将被删除。

【讨论】:

  • 脚本实际上应该是gradle cleanEclipse eclipse(不应该有w),试图编辑,但由于不是6个字符,我被阻止了
  • @NateH06 gradlew 是正确的。这是 gradle 包装器(可以使用 gradle wrapper 创建)。通过使用包装器,您不会绑定到全局安装的 gradle 版本,但可以使用您的源代码指定 gradle 版本。
  • 啊,明白了。我没有那个设置,所以它不起作用。
  • gradlew cleanEclipse eclipse 这很棒。感谢您提供此信息。注意:如果gradlew不适合你,我们可以试试gradle
  • @PSatishPatro 把这个推送到 SCM 是省事的。首先,如果您只是构建您的 repo(至少如果您的构建配置正确),则不会执行 eclipse 任务,其次,这些任务中不依赖任何 eclipse 二进制文件或资源。
【解决方案2】:

对我有用的是:

右键单击 build.gradle 文件 -> Gradle -> 刷新依赖项。

【讨论】:

  • 太棒了。比起Eclipse Plugin,我更喜欢这个;后者可能会让我在没有 Eclipse 的情况下使用 Gradle 的同事感到困惑。理解构建脚本应该是 IDE 的工作。在构建脚本中提到完全不依赖 Eclipse 的 Eclipse 感觉真的很奇怪。
  • 哇。 Eclipse 让我非常困惑。不过谢谢,这对我来说还不是很清楚。
  • @mtpain - 我也在这个问题上花了半天时间。我不明白为什么eclipse不能在build.gradle文件更改后自动刷新依赖项。
  • Refresh Gradle Project 是 Gradle 下我唯一可用的选项,这很有效。
  • 谢谢。我想做的最后一件事是更改项目配置以在我的系统上运行,而它在其他人的系统上运行良好。
【解决方案3】:

将项目作为 Java 项目导入后,在 Eclipse Neon 中:

Right-click on your project --> Configure --> Add Gradle Nature.

您的项目将自动刷新,您将看到 Gradle 下载的所有依赖项。

【讨论】:

    【解决方案4】:

    如果你在 mac 上做 dpr 提到的。即在 build.gradle 中添加以下内容:

    apply plugin: "eclipse" 
    

    然后运行以下命令:

    gradle cleanEclipse eclipse 
    

    【讨论】:

      【解决方案5】:

      在 Eclipse 中
      窗口 -> 首选项 -> Gradle
      在依赖管理部分
      检查 -> 将 jar 重新映射到 Gradle 项目。
      希望这会有所帮助

      【讨论】:

        【解决方案6】:

        启用使用以下设置自动构建 gradle 以避免此问题

        在Windows中进入Eclipse/STS -> Preference -> Gradle,点击Gradle Workspace Settings,有Enable Auto project synchronization

        保存 build.gradle 文件中的更改时,它会自动刷新 Gradle。

        最后,点击Project -> Clean-> choose your project,再点击Clean按钮

        【讨论】:

          【解决方案7】:

          这是一种来自 IDE 的错误。我在 Eclipse 和 Spring 工具套件中都遇到了这个 Gradle 依赖问题。

          我真诚的建议是,先试试这个,右键build.gradle文件-> Gradle -> Refresh Dependencies。

          如果这不起作用,最好的和有效的解决方案是
          1)从命令提示符执行 gradle clean build --refresh-dependencies 。然后创建一个新的工作空间并将项目导入到这个工作空间中。

          2) 如果上面的事情失败了,那么在最坏的情况下,需要将项目的 git clone 到一个新文件夹中并按照上述方法。

          【讨论】:

            【解决方案8】:

            在eclipse的以下位置添加两个classpath变量GRADLE_HOME和GRADLE_REPO:

            Windows -> Preferences -> Java -> Build Path -> Classpath Variables
            

            GRADLE_HOME 设置为 Gradle 安装目录

            GRADLE_REPO 设置为 .gradle 中的缓存文件夹(示例:C:\users\user1\.gradle\caches:此位置 jar 将从 repo 中保存。

            一旦设置了变量,请确保 build.gradle 已根据您使用的 eclipse 版本定义了正确的插件:

            apply plugin 'eclipse'
            apply plugin 'eclipse-wtp'
            

            在 build.gradle 中使用以下配置解决部署问题:

            eclipse {
                wtp {
                    component {
                        libConfigurations += [configurations.runtimeClasspath]
                    }
                }
            }
            

            然后按照以下步骤操作:

            Project -> clean
            Right click on the Project ->Gradle ->Refresh Gradle Project
            

            如果上述步骤不能解决问题,建议检查构建过程是否能够从 artifactory/nexus 下载 jar,因为身份验证错误或 artifactory/nexus jar 下载失败的 URL 错误。

            【讨论】:

              【解决方案9】:

              以下对我有用:

              eclipse -> 窗口 -> 首选项 -> Gradle -> "选择本地 安装目录”

              点击浏览按钮并提供 Gradle 目录的路径

              干杯!

              【讨论】:

                【解决方案10】:

                我在从 TFS 导入 Gradle 项目时遇到了这个问题。除非初始导入使用 Gradle 导入器,否则不会设置 build.gradle。您必须从 Eclipse 工作区中删除该项目(不要在磁盘上删除),然后将该项目作为 Gradle 项目再次导入。这会根据 build.gradle

                更新构建路径

                【讨论】:

                  【解决方案11】:

                  要解决这个问题: 1)右键build.gradle文件 -> Gradle -> Refresh Dependencies。

                  2)如果这没有帮助(发生在我身上) 项目->清理->选择您的项目并按“清理”

                  【讨论】:

                    猜你喜欢
                    • 2021-01-11
                    • 1970-01-01
                    • 2016-09-03
                    • 2016-09-25
                    • 1970-01-01
                    • 2023-01-18
                    • 2021-04-16
                    • 2013-08-21
                    • 1970-01-01
                    相关资源
                    最近更新 更多