Eclipse无法清除构建输出

时间:2014-10-29 13:39:10

标签: java xml eclipse

我有一个Eclipse(4.4.1)工作集,包含~60个项目(数字可能相关,因为刷新工作区需要更多时间)。有时,我遇到构建失败,因为Eclipse无法在构建之前清理输出文件夹:

Eclipse build problem

事实证明,锁定文件的过程是Eclipse本身:

enter image description here

事实证明,被锁定的文件始终是XML内容。特别是,如果我将*.foo扩展名的资源定义为XML文件(通过偏好设置 - >常规 - >内容类型),那么它们也很有可能被锁定,一旦他们被复制到输出路径。

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

enter image description here

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

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

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

5 个答案:

答案 0 :(得分:3)

只需2美分。

也许您可以按照以下步骤解决此问题:

  1. 项目 - >属性 - >建设者 - >新 - >程序
  2. 定义自定义" Cleaner" -Program,例如 Unlocker 或您自己的Java或CMD脚本
  3. 移动您的自定义Builder程序。 它应该是列表中的第一个构建器
  4. P.S。有时候我有类似的问题由Avira Antivirus Scanner引起......

答案 1 :(得分:2)

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

它们只会暂时锁定资源,并且在Process Explorer中不可见,但却是导致此类故障的最常见原因。

答案 2 :(得分:1)

假设XML验证是导致问题的主要原因,我建议您在项目配置中扩展搜索验证点,以引发所有问题:

  • 一般偏好/验证
  • 常规首选项/ XML / XML文件/验证(“荣誉所有架构位置”选项可能导致验证延迟)
  • 项目首选项/验证(检查它们;可能覆盖一般首选项)
  • 项目偏好/建筑商/验证员

希望它有所帮助。

答案 3 :(得分:1)

我遇到过类似的问题。是的,项目数量可能是原因。关闭未使用的项目。如果这样可以清理相关项目的移动组到单独的工作空间应该帮助你。

即文件 - >关闭项目

答案 4 :(得分:1)

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

  1. 下载File Leak Detector
  2. 将代理路径添加到eclipse.ini(例如, -javaagent: path / to / file-leak-detector.jar = http = 19999,请参阅文件泄漏检测器文档)
  3. 当问题再次发生时,请查看哪个(eclipse)类负责持有文件句柄
  4. 找出持有句柄的类的目的是什么
  5. 通过这种方式,您可以确定导致问题的Eclipse功能。