2010-07-15 137 views
8

我注意到「有時」我放入Eclipse項目的源文件夾中的資源不會立即被複制到輸出文件夾(「bin」)。
例如我使用eclipse編輯器更改屬性文件並保存...「bin」仍然有舊版本。Eclipse何時將資源複製到輸出文件夾?

有誰知道究竟是什麼觸發複製(以及如何從插件觸發)? 我以爲它在資源發生變化時會自動發生。

- 編輯 -

爲了澄清我的意思通過插件觸發它:我有一個最新的資源輸出文件夾依賴於一個插件,但顯然資源是過時的,當我的插件叫做。這就是爲什麼我需要更好地瞭解會發生什麼,以及當我需要時如何強制它。

回答

2

這是一個錯誤在幾乎所有的Eclipse版本後,碰巧不需要任何理由。我的eclipse 3.5.2和3.6.2都在某一天遇到了這個問題。在我的情況下,我需要將修改後的.clj clojure源文件複製到類目錄中,以便在Web應用程序中立即生效,現在,我必須在/ web應用服務器啓動腳本的CLASSPATH中的/ classes之前設置/ src,它暫時解決了我的問題。

+2

由於沒有人可以解釋它,我將它作爲「bug」提交。如果我們能夠找到官方的eclipse bug報告,那會很棒。 – Stroboskop 2013-04-29 08:51:05

0

據我所知,它發生在您建立項目時。你不需要插件,只需要告訴eclipse來構建項目。

+1

您需要在項目菜單中選中「自動構建」,以便自行完成。如果你這樣做了,但它仍然沒有這樣做,你可能需要將包含該文件的文件夾添加到構建路徑中。你說輸出文件夾包含'舊'版本的事實表明它在構建路徑上,並在某處被複制。但是,如果您只是添加了它,並且沒有「舊」版本,則可能需要刷新該項目以查看它是否已移至輸出文件夾中 – 2010-07-15 11:31:02

+0

實際上並非如此。輸出文件夾偶爾會更新。例如當我做一個乾淨的工作區或啓動時。該文件位於同一位置,使用eclipse進行編輯,同一項目中的Java源代碼將自動生成並複製。 – Stroboskop 2010-07-16 12:04:50

7

如果你不通過eclipse添加資源(例如通過Windows資源管理器),eclipse不會注意到一些變化,直到你刷新你的項目/文件夾。 (例如在packater資源管理器中右鍵單擊)。

它注意到,將它複製到輸出文件夾,當你建立的變化(通常是這是在變動自動完成)

+0

這是困擾我的「經常」部分,因爲它在測試環境的構建階段不會發生 – Stroboskop 2010-07-15 11:23:24

+0

如果您正在構建Eclipse插件,則可以從插件進行刷新。看看IProject界面。 – 2010-07-15 11:43:53

+0

@Stroboskop:對於Java項目,它是默認情況下在生成菜單中設置的一個設置。對於其他項目,它取決於項目類型和插件。 – Thirler 2010-07-15 18:31:24

0

正如@Thirler所說,如果您不通過Eclipse添加資源,它可能會在您刷新項目之前不會注意到這些文件。但是,如果刷新/清除不起作用(在我的情況下,它沒有),您必須將文件添加到文件夾結構IN ECLIPSE。

只需使用Finder/Windows資源管理器將文件從文件夾中的文件夾拖放到Eclipse的Project Explorer中相同的文件夾中(Eclipse會要求覆蓋,只是說是)和Voila!

編輯: 一個更簡單的方法是使用Project Explorer導航到文件夾,然後刷新(F5)。

相關問題