2011-08-01 84 views
11

當你改變Eclipse項目的classpath中,.classpath文件的變化,因此,如果您發送的項目給其他人(包括.classpath文件),它們具有相同的類路徑。但是,當你切換到「派生」的資源,有在任.project.classpath沒有變化。那麼Eclipse在哪裏存儲有關哪些文件和文件夾派生的信息?Eclipse在哪裏存儲哪些文件是「Derived」的信息?

編輯:我發現這個:「currently the derived state is stored in a single bit within a flag integer associated with each resource in the workspace tree file」,但如果有人可以更準確地解釋標誌整數的存儲位置以及如何更改它,那將是相當讚賞。

+0

+1:這確實是一個有趣的問題......但我怕你應該改變項目結構,而不是「黑客」日食內部:-) – home

+0

@在家裏進一步解釋一下,我們有一個通過ant自動生成我們'.project' /'.classpath'文件的系統。如果它也可以自動將派生標誌設置在正確的文件夾上,那將是很棒的。我還以爲這是.classpath'的'一部分,但因爲它不是,我想知道它在哪裏,看看是否有可能將其設置一些其他的方式沒有得到過深​​到Eclipse的土地。 – MatrixFrog

+2

'Derived'位應該由Eclipse中的構建器設置。如果您需要設置位,唯一的辦法就是通過'IResource' API - 'org.eclipse.core.resources'插件的一部分。 –

回答

6

,而不是在工作空間中的元數據上this eclipse bug它要求派生狀態持續用Eclipse項目設置(可共享)長的討論(不能)。該錯誤是相當古老的,仍然沒有解決,但有很多討論。

我的情況是,我產生了很多的Java類文件,在工作空間目錄中的螞蟻構建的一部分,並希望它們標記爲衍生這樣他們就不會在搜索中顯示出來。我認爲我將採取的選擇可能是調整我的自動化,以便它將其生成的資源標記爲派生的:

IResource.setDerived(true); 

OP的情況似乎有些不同。我可能會試着將我的項目的構建路徑放在每個用戶可以獨立定義的變量上,因此,您的.classpath文件對所有用戶都是一樣的。

2

這不是一個問題的答案,但東西是直接相關的是什麼,我相信就在眼前的問題。這就是分享哪些文件應該與其他人一起在項目中派生的能力。

發現這個插件來解決: http://nodj.github.io/AutoDeriv/

+0

謝謝!正是我想要的! – Nate