如何使用Eclipse中的Buildship刷新项目依赖项?

时间:2015-06-27 19:56:57

标签: eclipse gradle

Eclipse Mars最近发布了,我觉得要尝试一下。它通过Buildship列出了与Gradle的紧密集成,作为其功能之一。

使用Luna我正在使用Gradle Integration for Eclipse (4.4),我发现这更容易与我想要做的事情一起工作;我可以将Gradle“nature”添加到现有项目中,而不需要像在Buildship中那样删除项目并重新导入它,它会自动将我在build.gradle中声明的所有依赖项放在项目的类路径中。 / p>

使用Buildship,我没有看到将现有项目配置为Gradle项目的任何选项,我找不到让它包含我在项目类路径中的构建脚本中指定的依赖项的方法。

我尝试为Eclipse Mars安装原始插件(GIfE 4.4),并在重新启动Eclipse后,它会自动为我再次完成所有这些操作。我想知道的是,如果有一种方法可以通过Buildship单独完成这一点,因为现在,尽管一切正常,但这是一个非常有趣的设置。我项目的下拉菜单如下所示:

除了看起来有点奇怪之外,它实际上是一个非常好的设置,因为它结合了GIfE的自动依赖管理和直接从Buildship提供的Eclipse运行Gradle任务的能力。

5 个答案:

答案 0 :(得分:53)

更新eclipse看到的依赖项应该简单如下:

right click on project -> gradle -> refresh all

在buildship 1.0.16中更新

目前,您需要在第一次使用带有buildship的现有gradle项目时跳过删除和导入箍。现在可以使用Add Gradle Nature选项:

 right click on project -> configure -> Add Gradle Nature
  

右键单击任何.gradle文件以及Gradle编辑器的上下文菜单中,也会显示“刷新Gradle项目”。 source

请参阅下面的更新 但有时您可能会发现在导入项目时,它没有获得新的Project和External Dependencies类路径条目通常可以在Project Properties -> Java Build Path -> Libraries中看到 如果确实缺少这一点,请将以下内容添加到项目的.classpath文件中,所有gradle goodness应该开始工作:

<classpathentry exported="true" kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
  

在buildship 1.0.16中更新

     

如果缺少

,则会恢复Gradle类路径容器      

将现有Eclipse Java项目转换为Gradle时,缺少Gradle类路径容器。现在,当项目是Java项目时,它总是被添加。

答案 1 :(得分:4)

我同意Buildship有点像灾难。文档非常稀少,示例有限,用户指南极少。你会认为记录Gradle Integration for Eclipse(4.4)的转换是不费脑子的,但我想不是。我也没有一个线索如何使用Buildship,除了我手动运行一些任务,它在我的.classpath文件中放置完全限定路径。考虑到许多项目是通过变更控制系统共享的,这是荒谬的。

答案 2 :(得分:4)

任何人,如果你没有得到

  

右键点击项目 - &gt; gradle这个

完成@PaulAdamson回答中提到的步骤后的链接。试试这个。

  1. 在build.gradle中添加apply plugin 'eclipse';
  2. 在eclispe中关闭项目。
  3. 从命令行运行gradle build,然后在eclipse中重新打开项目。

    现在,右键单击可以使用gradle链接。

答案 3 :(得分:2)

目前没有&#34;转换为Gradle项目&#34;在Buildship中实施。但是,如果删除项目并使用Gradle导入向导重新导入它,则应该看到具有适当性质和类路径容器的完全相同的项目。

最重要的是,如果您的工作区中有Gradle项目并更新构建脚本中的依赖项,则可以通过右键单击项目并选择Gradle > Refresh projects来刷新类路径容器。

Gradle论坛讨论了您遇到的类似问题:discuss.gradle.org/t/adding-dependencies-to-projects/10415。

我们还有一个专门针对此功能请求的错误:bugs.eclipse.org/bugs/show_bug.cgi?id=465355。请投票支持并分享您的想法。

关于文档:我们没有提供中央Eclipse帮助系统的官方文档,但是有一些资源解释了当前的功能:

答案 4 :(得分:0)

如果您已经将Java项目转换为Gradle项目,但是[RIGHT-CLICK] + Import(然后导入“现有Gradle项目”),那么您的项目应该是Gradle Nature。

如果该项目属于Gradle Nature,那么在.classpath文件中,您将不会像在普通Java项目中那样看到所有.jar依赖项,而是将看到一个条目:

<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>

要刷新依赖关系,您应该执行以下操作:

[RIGHT-CLICK] + Gradle +刷新Gradle项目

这将解决所有并发症问题。