在Eclipse中更新我的Gradle依赖项

89

我在Eclipse中有一个简单的Gradle项目。我更新了build.gradle,加入了一些Apache Http的jar包...

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    compile 'org.apache.httpcomponents:httpclient:4.2.3'
    compile "org.apache.httpcomponents:httpmime:4.2.3"
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

然而在我的代码中,当我引用一些 Apache HTTP 的东西时,我会得到以下错误:

The import org.apache.http cannot be resolved   

有什么技巧可以让Eclipse看到我在build.gradle中添加的新依赖项吗?

我尝试过执行clean操作,但没有效果。我的Gradle插件版本是:

  Gradle IDE    3.3.0.201307040643-RELEASE  org.springsource.ide.eclipse.gradle.feature.feature.group   GoPivotal, Inc.
6个回答

195

当您在包资源管理器中右键单击项目时,会出现“Gradle”上下文菜单,在该菜单中选择“刷新依赖项”。


3
从这一刻起,我开始热爱Gradle! - Namek
14
在项目上下文菜单中,我必须在“配置 >”下点击“添加Gradle Nature”,然后才会出现“Gradle”选项。 - shanesolo
2
对我来说,Gradle 只提供了“刷新 Gradle 项目”的选项。但这也可能是由于 Eclipse 中的错误导致的:“无效的 Gradle 项目配置文件:.settings/org.eclipse.buildship.core.prefs”。 - xeruf
3
在Eclipse中右键单击项目时,我只看到“刷新Gradle项目”作为gradle子菜单下的唯一选项。 - user1821961
2
你知道这个在后台做了什么吗?它实际上执行了 gradle clean 然后是 gradle eclipse 吗?还是其他命令? - RenatoIvancic
显示剩余3条评论

86

按照以下步骤在Eclipse中更新Gradle项目:

  1. 首先,请检查您是否已包含eclipse gradle插件。apply plugin : 'eclipse'
  2. 然后在终端中进入您的项目目录。输入gradle clean,然后输入gradle eclipse
  3. 然后转到Eclipse中的项目并刷新该项目(转到“项目资源管理器”,选择项目根目录并按F5进行刷新,或右键单击并选择上下文菜单中的“刷新”)。

这里输入图片描述


3
我发现这比尝试在Eclipse中让Buildship Gradle插件工作要轻松得多。 - Holly Cummins
执行这些命令让我看到实际上存在问题。在我的情况下,我看到了 Could not resolve: org.apache.commons:commons-lang3:3.4 - John Fisher
1
在我的情况下...我删除了一个依赖项,然后再次包含了同样的依赖项。但是Eclipse没有重新下载。为了解决这个问题,我还必须在命令行上执行"gradle eclipse"。 - Akostha

29

查看Eclipse插件文档,我找到了一些有用的任务,可以重建我的类路径并更新所需的依赖项。

  • 首先尝试gradle cleanEclipse完全清除Eclipse配置。如果这不起作用,您可以尝试更具体的任务:
    • gradle cleanEclipseProject以删除 .project 文件
    • gradle cleanEclipseClasspath以清空项目的类路径
  • 最后使用gradle eclipse重新构建Eclipse配置

这个非常好用。有一点需要注意,在OSX和Linux上,必须确保权限正确。我是用我的身份运行Eclipse,而gradle使用su身份。导致Eclipse无法访问配置文件。 - Hodglem

7

您需要确保“依赖管理”已启用。为此,请右键单击项目名称,转到“Gradle”子菜单,然后单击“启用依赖管理”。一旦您这样做了,Gradle应该会为您加载所有依赖项。


8
Eclipse市场显示我已安装Gradle集成,但右键单击项目时没有看到上下文菜单!我确实有应用插件:'eclipse'。有什么想法吗?谢谢。 - endless
您做到了,让我感到非常开心,谢谢。我很困惑为什么这不是自动完成的,但我尝试手动添加了所有内容,可能还漏掉了其他东西。 - Toguard
如果您在项目中没有看到“依赖管理”,请右键单击该项目,然后转到“配置”->“转换为Gradle项目”。这使我能够启用依赖管理。不过很奇怪,因为我是使用Gradle导入器导入的,您会认为它已经是一个Gradle项目了。 - Ben L.
在Eclipse Photon中无法正常工作。没有上下文菜单,也没有配置选项。 - The Impaler
2
在Eclipse 2020-06中仍然没有上下文菜单“Gradle / Dependency Management”,也没有“Configure / Convert to Gradle project”(但有很多其他的“convertTo…”)。 - Heri

2
我尝试了以上所有选项,但仍然出现错误,在我的情况下问题是我没有在eclipse中设置gradle安装目录,以下方法可解决问题:

eclipse -> Window -> Preferences -> Gradle -> "选择本地安装目录"

点击浏览按钮并提供路径。

虽然问题已经得到解答,但考虑到其他人可能遇到类似的问题,我还是想分享一下。
祝好!

1
在我的情况下,我在Spring Tools Suite(本质上是Eclipse)中遇到了一些奇怪的问题,当我尝试升级Spring Boot并且更改似乎没有生效时,我解决了这些问题。 右键单击您的项目 -> Gradle -> 刷新Gradle项目

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接