【问题标题】:Why does Eclipse sometimes rebuild the whole workspace?为什么 Eclipse 有时会重建整个工作区?
【发布时间】:2015-07-13 17:28:18
【问题描述】:

我使用 Eclipse Luna 4.4.0。在我启动 Eclipse 并且没有更改任何内容后,它有时会重建整个工作区,这有点烦人。它不是增量构建,而是完全重建(包括清理所有项目的输出文件夹)。

我对项目使用自动构建(所有 java,使用 svn 和 git),但自动构建不应该导致这种行为。

是什么触发了完整的工作区重建?错误日志不包含任何提示。

【问题讨论】:

  • 这似乎在 2020 年仍在发生。也许它与 m2e(Maven 集成)有关 - 有时编辑一个 pom.xml 会触发工作空间中所有项目的重建...跨度>

标签: java eclipse


【解决方案1】:

通常,构建器会按如下方式触发(来自the Eclipse wiki)。

JDT 使用平台提供的自动构建工具。如果资源发生更改,平台会检查项目描述文件(请参阅项目中的 .project)。当文件包含对 Java 构建器的引用时,构建器会收到更改通知,然后将编译 Java 源文件及其依赖项。

我不知道究竟是什么触发了启动时的构建(我一直感觉 Eclipse 在启动时这样做是“有意义的”)。会不会是你的一些资源在启动时被 touched(如果你在 Linux 系统上)?

它还在 wiki 上说如何关闭自动构建(我猜你已经完全意识到了):

可以通过窗口>首选项>常规>工作区>自动构建关闭自动构建。

在 Eclipse 的 bugzilla 上也有相关的 bug,例如https://bugs.eclipse.org/bugs/show_bug.cgi?id=73969, https://bugs.eclipse.org/bugs/show_bug.cgi?id=172444.

【讨论】:

  • Eclipse 构建自上次构建以来触及的任何东西是有道理的。但我绝对没有碰任何东西,而且 eclipse 偶尔会重建每个项目,包括一个干净的项目。
  • 感谢 Eclipse bugzilla 的链接:该线程来自 2005 年,但有很多迹象表明 Eclipse 的内部工作/错误可能会触发不必要的完全重建。
  • @wero:我发现这个链接我自己读起来很有趣,尽管它的年代久远。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-11
  • 1970-01-01
  • 2013-10-19
  • 1970-01-01
  • 2012-08-26
  • 1970-01-01
相关资源
最近更新 更多