2014-10-29 94 views
6

我有一个Eclipse(4.4.1)由〜60个项目(数量可能是相关的,因为它需要更多的时间来刷新工作空间)的工作组。偶尔,我会遇到构建失败,因为Eclipse是无法构建之前清理输出文件夹:日食无法清除建立输出

Eclipse build problem

原来,这锁定文件的过程就是Eclipse本身:

enter image description here

它也证明被锁定的文件始终是XML内容。特别是,如果我定义与*.foo扩展为XML文件的资源(通过首选项 - >常规 - >内容类型),有一个很好的机会,他们将被锁定,也一旦他们复制到输出路径。

我认为问题是由所有的XML资源所造成的自动验证:

enter image description here

- 所以我加了排除过滤器1,甚至禁用XML/XSD完全验证。这个问题经常停止发生,但仍然不时出现。刷新或关闭 - 重新打开项目没有帮助。

唯一的补救方法是重新启动Eclipse或运行Unlocker每隔半小时,这是不是很方便。

任何想法如何解决或至少进一步诊断呢?

+2

这听起来像是向Eclipse社区提出的一个很好的问题,因为它听起来非常像Eclipse中的一个bug。 – 2014-11-05 20:49:26

+0

作为可能的原因,请检查TaskManager中是否存在失败的构建过程中处于活动状态的其他java.exe进程。我相信我曾经有过类似的问题。 – Compass 2014-11-05 20:52:33

+1

会“暂停所有验证器”为您工作吗?我知道这是有风险的,但是你真的想要验证所有的xml吗? – ha9u63ar 2014-11-10 14:13:43

回答

1

假设XML验证是你的问题的主要原因,我建议你进行验证点扩大您的搜寻在你的项目的配置,来衬托他们都:

  • 一般首/验证
  • 一般首/ XML/XML文件/验证(以下简称“纪念所有架构位置”选项可能会在确认造成延迟)
  • 项目首选项/验证(检查他们,可能是压倒一切的一般偏好)
  • 项目首选项/卜ilders /验证

希望它能帮助。

+0

谢谢。所有这些都已经没有检查了。 – Bass 2014-11-13 15:27:32

+0

对不起,低音,但我不明白:如果我的回答对你没有用处,我想你是错误地给了我赏金。 – 2014-11-14 23:23:49

+0

不,没有错。我相信你的回答是最接近真相的。 WST/WTP存在问题,并且XML验证是该插件的一个功能。 – Bass 2014-11-15 19:55:22

2

禁用第三方版本控制守护进程。 (像TGitCache)。

他们只锁定资源一会儿,并没有在Process Explorer中可见,但这种故障的最常见的原因。

+0

这也是我的想法。所以我禁用了'TGitCache.exe'甚至是“un-shared”我的项目。但问题仍然存在。 – Bass 2014-11-13 15:21:35

1

我遇到过类似的问题。是的,项目的数量可能是原因。关闭未使用的项目。如果这能清理干净的事情,将相关项目组移到不同的工作空间应该可以帮助你。

即文件 - >关闭项目

+0

感谢您的评论。问题是我实际上正在使用这些项目。 – Bass 2014-11-13 15:20:11

3

只是我2美分。

也许你可以通过以下步骤,这个解决此问题:

  1. 项目 - >属性 - >建筑工地 - >新建 - >程序
  2. 定义一个定制的 “清洁” - 程序,例如解锁或您自己的Java或CMD脚本
  3. 将您的自定义生成器程序向上移动。 它应该是在列表中

附注:第一生成器有些时候,我已经引起查杀防病毒扫描程序类似的问题...

1

我不熟悉的问题,但我会解决这个问题是这样的:

  1. 下载File Leak Detector
  2. 添加代理路径到您的eclipse.ini(例如, -javaagent:path/to/file-leak-detector.jar = http = 19999,请参阅File Leak Detector的文档)
  3. 当问题再次出现时, eclipse)类负责拿着文件
  4. 的手柄搞清楚什么是握住手柄

这样的类的目的,你也许能够拖住了Eclipse功能,导致您的问题。

+0

谢谢_File Leak Detector_可能是一个很棒的工具,但是在我的电脑上它会崩溃它试图连接的任何JVM。 – Bass 2014-11-13 15:18:47