2013-04-10 11 views

回答

20

是的,你應該。如果此文件不受版本控制,則不能創建同一項目的可重複構建,因爲它不再是自包含的,而是取決於您的特定Eclipse安裝及其設置。

如果您將此項目導入到另一個工作區(在您的或任何其他機器上),它可能會有完全不同的行爲,因爲編譯器合規性設置,編譯器警告配置以及其他許多內容突然丟失或不同。這個項目在新工作區中突然顯示警告/錯誤的可能性很高,而之前它完全正常。

注意:這一切都需要您實際上配置項目屬性中的所有Java相關設置。如果您想擁有自包含的項目,請不要在Window - > Preferences中使用Java編譯器設置。如果您已將項目編譯器合規性級別配置爲Java 6,因爲您正在使用Java 6特定功能(如接口上的覆蓋註釋),那麼該項目將在其他人機器上配置create a lot of compile errors。這是因爲每個Eclipse工作區中默認的編譯器合規性級別是Java 1.5,而在Java 1.5中,Override註釋是不被允許的。

這與您是否正在開發閉源或開源代碼無關,如其他答案中所述。

10

出乎@ nitind的意見,沒有。您不應該在版本控制下放置任何IDE特定的設置。除非您正在開發IDE功能或插件。

如果你真的有強制性的團隊範圍的IDE設置,將它們置於版本控制之下是個好主意,但是具有強制團隊範圍設置的IMO本身並不是一個好主意。

對於所有其他情況,即使使用相同的IDE,共享IDE設置也不利於可移植構建,對於其他IDE的用戶來說,最好也是無用的。

編輯:我應該區分,取決於您的項目的目標羣體。如果您正在使用eclipse開發團隊開發閉源產品,那麼在版本控制下保留這些首選項是有幫助的,也是一個好主意。如果您正在開發一個圖書館,封閉或開放源代碼或開源項目,我認爲忽略偏好更合適和禮貌。

編輯2:恐怕@Bananenweizen誤解了我想說的話。

我知道,這些設置是Eclipse編譯器設置。它們仍然是IDE特定的,因爲它們在Netbeans或IntelliJ中不會有任何效果,因爲它們不會對命令行中的ant或maven構建產生任何影響。

是的,讓這些設置脫離版本控制可以爲您在不同機器上的日食中帶來許多紅色波浪線。它不會,如果它是一個具有設置源代碼級別的Maven項目,我對螞蟻​​不確定。

Eclipse不是自己構建項目 - 如果它是一個eclispe或ant項目,或者如果是maven項目,則使用maven構建它們。 ant和maven都具有不依賴於IDE的源版本的特定設置。

而這正是這些設置應該是 - 在構建文件。構建文件應該在源代碼控制之下。我之前提到的例外情況仍然適用。

+1

提到的實際文件控制項目的代碼合規性級別和編譯器錯誤/警告設置,例如,如何/如何報告未使用的本地人,私人成員,未使用的導入類或未處理的空值。這不是關於格式化風格,而是關於如何嚴格地執行該項目中任何人的基本編譯器可檢測質量。編輯:這個文件特別存在只是因爲你選擇覆蓋項目屬性頁面中的工作區默認值。編輯:除非你使用Facets。 – nitind 2013-04-10 15:21:53

+0

@nitind - 是的,你說得對,它不像我想象的那麼片面。請參閱編輯 – kostja 2013-04-10 19:52:39

+0

您的文章顯示了一個誤解:這些不是IDE特定的設置。它們可能採用IDE特定格式,但它們是重要的項目內容,就像衆所周知的類路徑一樣。 – Bananeweizen 2013-04-11 06:44:14

1

這裏是把它的版本控制之下.... 如果您導入並打開一個項目的問題時,Eclipse堅持當IProject.open(...)被稱爲感人文件中的.settings文件夾......這是在您可以在IProject對象上註冊團隊提供者之前。這意味着驗證編輯不會火災,無論您在彈出式窗口中單擊「是」或「否」,都會出現令人討厭的錯誤,並詢問「您是否希望使其可寫?對樂觀的文件鎖定提供商來說,這一切都很好,但對於「悲觀」的提供商來說並不那麼好。對我們來說,這只是又一次的日食​​煩惱。

如果這取決於我,有沒有辦法我會把這些放在源代碼管理。

0

答案是肯定的,在這裏您可以找到它的動機和正確的方法:watch the talk「承諾IDE元文件:錯誤觀念,誤解和解決方案。」或者從AurélienPupier @apupier(Eclipse專家的高級軟件工程師)看EclipseCon Europe 2015的相應slides

+0

「鏈接很棒,但它們不應該是你答案中唯一的信息。」見https://meta.stackexchange.com/questions/8231/are-answers-that-just-contain-links-elsewhere-really-good-answers – 2018-02-21 14:47:04

相關問題