在Git Pull上自动执行eclipseClean,eclipse

时间:2015-08-26 17:13:36

标签: git version-control gradle spring-tool-suite gradle-eclipse

环境: Gradle <= 2.5, STS <= 3.7 or Eclipse version <= Luna

恼人与Gradle和Eclipse(或STS)合作,你必须继续执行&#34; Gradle Refresh&#34;或者&#34; Gradle RefreshAll&#34;在开发工作流程中有很多时间。

以下是您必须执行Gradle Refresh或删除项目以及&#34; re-import / aka Build Model&#34;的场景。

1)执行Git pull并接收对依赖项的更改。很多时候发生的变化是编译时依赖性或testRuntime依赖性。

在这些情况下,您遇到了令人讨厌的编译错误。只有在执行&#34; Gradle刷新全部/ Gradle刷新依赖&#34;后才会消失。

2)在开发过程中,您自己将新的依赖项添加到build.gradle中,并且需要代码

3)用于模式编译的JAXB插件 - Gradle JAXB Plugin - 使用时,必须在创建源文件夹之前调用xjc。我使用compileJava.dependsOn xjc as per here获得了一些帮助,但仍然远远不够。

如果开发人员更改了引用xjc将生成的JAXB类的xsd和Java源代码。 您现在必须先致电xjccompileJava,然后您必须通过右键单击架构项目来调用Gradle Refresh Sources

Another more than year old thread showing same frustration as me.

  1. 我想知道是否有人遇到过这些问题,或者我是唯一一个以及他们是如何处理这些问题的。
  2. 如何捕获gradle eclipse事件以便可以执行必要的操作?或者gradle-eclipse插件调用了什么Gradle任务?

2 个答案:

答案 0 :(得分:1)

这可能无法处理所有情况,但是当.gradle文件更改时,您可以启用“自动刷新依赖关系”选项。

enter image description here

有关此功能限制的一些事项:

  • 仅刷新'托管'容器中的'Gradle Dependencies'。因此,必须启用“依赖管理才能使其工作”。

  • 不执行任务,只刷新容器中的依赖项,而不是其他内容。

答案 1 :(得分:0)

回答问题略有不同的方面。您询问“ gradle-eclipse插件调用Gradle任务”。你确实可以控制它。使用向导导入项目时,可以指定要在导入之前和之后执行的任务。执行'全部刷新'时也会执行这些相同的任务。

enter image description here