2014-10-29 132 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