2012-04-02 75 views
4

我有一個項目設置與兩個源文件夾。 Folder1是我不想觸摸的一組自動生成的java源文件,Folder2是一個對這些文件中的某些文件進行輕微編輯的文件夾。Eclipse - 從其他源文件夾覆蓋自動生成的源

我希望編譯器做的就是無視Folder1中的文件,如果有一個在文件夾2的編輯的文件是什麼。

我試圖找出如何關閉的「X型已經被定義爲」在Eclipse中的錯誤,但在在設置錯誤/警告我不能找到它。我假設關閉這個錯誤,並正確設置順序將使編譯器使用這兩個正確的文件。

顯然,我不想要的是從手動構建路徑中排除Folder1中的所有重複項。我不一定希望你能夠解決我的問題,如果有更好的方法來設置它,請隨時提出建議。請記住,無論發生什麼,由於路徑的複雜性,我無法解決所有源需要在同一個bin文件夾中。如果可能的話,我也想盡量避免構建腳本。

+0

您可以選擇一個特定的文件並將其從構建中排除。 – 2012-04-02 01:03:43

+0

是的,這就是我所說的「我不想用手排除每個文件」 – 2012-04-02 01:04:46

+0

啊。我錯過了。我的壞 – 2012-04-02 01:05:25

回答

1

您可以創建兩個項目: prj1只有Folder1和 prj2只有Folder2。 prj1被列爲prj2上的必需項目。這樣Folder2中的資源將覆蓋Folder1中的資源。

1

當這種問題發生在我,我使用SVN,我小心翼翼地創建一個新的分支,並在其上工作。

之後,您需要在此處遷移複雜的路徑。

如果戴維牛頓說,你可以認爲它是一個破碎的項目,這可以幫助你保存它。

+0

這裏的主要問題是,每個版本的應用程序自動生成並重新生成「Folder1」的東西。我可以看到SVN設置是如何工作甚至是考慮的,但是通過生成的源代碼來更改每個發行版,這基本上意味着所有涉及的文件都必須針對每個發行版進行承諾,從而使其成爲破壞版本控制系統,這只是一個破碎項目的一小步。雖然 – 2012-04-02 16:39:48

+0

沒有問題,但確實在相關項目中,但在每個重新生成的Folder1之後,您可以*將它合併到您的分支中。 HTH – 2012-04-03 06:59:36

1

爲了您的要求:

...ignore files from Folder1 if there is an edited file in Folder2... 

你需要一個覆蓋/聯合文件系統,其中有

a RO mount that contains your original file set 
a RW mount that initially contains nothing 
an overlay/union mount for use by an application 

當一個應用程序更新文件時,文件系統將文件保存到RW位置。一旦RW位置中存在相同名稱的文件,文件系統就會將文件隱藏在RO位置。

這個概念起初聽起來很奇怪。

向谷歌向您展示「什麼是overylay文件系統」和「什麼是工會的文件系統」,以瞭解更多信息。

+0

當然,這正是我在Eclipse裏想要做的。你的想法很有趣,但並不真正用於代碼項目,因爲它不適用於版本控制。你描述的功能是我想要在Eclipse中實現的功能。 – 2012-04-02 16:47:49