找出哪些更改的资源导致了使用Buildship在Eclipse中刷新/重建工作区

时间:2018-09-05 08:46:25

标签: eclipse gradle buildship

是否有办法从Eclipse平台或Buildship插件(甚至通过Gradle API本身)获取有关导致项目重建的更详细的日志输出?

上下文:

我们目前正在从 Eclipse火星(带有Spring Gradle插件)迁移到 Eclipse Photon(带有Gradle Buildship插件)。新版本遇到的一个问题是,每次打开Eclipse时,它都会重新构建工作区的大部分,这在大型项目中可能要花费几分钟。在Eclipse首选项中禁用了Refresh workspace on startup。将Max simultaneous project builds设置为比默认值更高的值,并将Max iterations when building with cycles设置为比默认值更低的值,可以通过加快初始重建速度来缓解问题,但最终只能解决实际问题。

我们在旧版本中没有这些问题,这种行为对我来说似乎很奇怪。完全构建工作区,关闭Eclipse并重新打开它之后,我希望没有资源更改,也不需要重建。

尽管我们确实有许多自定义的Gradle插件和任务,但没有明显违规者,例如生成源代码的任务。我不想完全忽略在评估Gradle项目时我们定制的东西弄乱了文件的可能性。

因此,对于为什么获得更多有关IDE /插件为何认为该项目需要重建的信息,将非常感谢。

到目前为止,我发现的唯一设置是eclipse.log.level,但已经默认为ALL

2 个答案:

答案 0 :(得分:1)

关于启动Eclipse时不必要的构建的主题:您可能希望更新到Eclipse 2018-09(请参阅https://www.eclipse.org/downloads/),其中包含与此有关的两个修复程序:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=536990特定于Eclipse Photon

https://bugs.eclipse.org/bugs/show_bug.cgi?id=525597,这是一个老问题,只出现在较大的工作空间中(实际上对工作空间的伤害最大)

答案 1 :(得分:0)

我最终用

添加了.options文件
org.eclipse.jdt.core/debug=true
org.eclipse.jdt.core/debug/javadelta=true

org.eclipse.core.resources/build/delta=true
org.eclipse.core.resources/refresh=true

到Eclipse的安装目录。然后,我使用-debug -consoleLog参数启动了Eclipse。基本上如this answer中所指出。

在我的情况下,由于没有创建日志输出,因此无法通过跟踪插件进行配置。对我来说可能是个问题。


在控制台中产生的跟踪输出足以表明一个问题,其中.class文件的Gradle输出目录与Eclipse期望的输出目录不匹配,因此它可能将该文件夹视为另一个目录。资源。

它还显示,打开Eclipse之后,每个项目的已解析类路径在每个项目上均被标记为已更改。尚不确定第一个问题是否是第二个原因。