2008-09-17 66 views
8

如何確保您可以將代碼簽出到Eclipse或NetBeans中並在其中工作?你如何處理不同的Java IDE和svn?

編輯:如果你沒有檢查與IDE相關的文件,你必須重新配置buildpath,包括所有這些東西,每次你簽出項目。我不知道,如果螞蟻(特別是從eclipse創建/導出的ant buildfile)可以無縫地與其他ide一起工作。

+0

在2017年,事實上的方式是使用Maven並明確地將IDE工作文件放在源代碼管理之外。所有主要的IDE都有很好的支持。 – 2017-09-20 23:20:58

回答

7

自作聰明答案是「通過這樣做」 - 除非你不使用多個IDE,你不知道你是否真的準備好使用多個IDE。誠實。 :)

我總是看到多個平臺更麻煩,因爲他們可能使用不同的編碼標準(例如Windows可能默認爲ISO-8859-1,Linux到UTF-8) - 對我來說編碼導致了更多的問題比IDEs。

一些更多的指針:

  • 您可能需要使用Maven(http://maven.apache.org)去,讓它產生IDE特定文件,從不把它們提交到源代碼控制。
  • 爲了確保您正在生成正確的工件,您應該有專門的服務器在螞蟻,Maven或任何其他工具的幫助下構建您的交付物(例如巡航控制系統)。這些可交付成果是在開發機器之外進行測試的。偉大的方式讓人們意識到自己的機器之外還有另一個世界。
  • 禁止在源代碼控制中找到的任何IDE特定文件中包含任何機器特定路徑。總是通過邏輯路徑名稱引用外部庫,最好包含它們的版本(如果您不使用maven)
+0

我也喜歡這個答案,它也很好。 http://stackoverflow.com/questions/81567/how-do-you-handle-different-java-ides-and-svn#84958 – Arvodan 2008-09-18 05:46:15

1

最好的事情可能是而不是提交任何與IDE相關的文件(如Eclipse的.project),這樣每個人都可以簽出項目並按自己的意願完成自己的任務。這就是說,我認爲大多數IDE都有自己的配置文件方案,所以也許你可以在沒有任何衝突的情況下提交它,但它感覺凌亂。

0

大多數情況下,我會同意seldaek,但我也傾向於說至少應該給出一個文件,說明依賴關係是什麼,用於編譯的Java版本等等,以及任何東西此外,NetBeans/Eclipse開發人員可能需要在其IDE中進行編譯。

我們目前只使用Eclipse,因此我們將所有Eclipse .classpath .project文件提交給svn,我認爲這是更好的解決方案,因爲那樣每個人都可以重現錯誤,而不是輕鬆地使用IDE細節。

+0

到目前爲止,我們都是這樣做的。如果你失去了所有關於依賴關係和編譯的信息,新開發人員參與該項目將會是一個巨大的混亂。 – Arvodan 2008-09-17 10:07:51

0

我的理念是構建應該用「最低公分母」方法來完成。進入源代碼控制的內容是構建所需的東西。雖然我完全使用Eclipse進行開發,但我的構建是在命令行使用ant。

對於源代碼控制,我只從命令行中檢查對構建來說很重要的文件。沒有Eclipse文件。當我設置一個新的開發機器(似乎每年兩次)時,需要一點點努力才能讓Eclipse從ant構建文件導入項目,但沒有什麼可怕的。 (理論上,這對其他IDE來說應該是一樣的,不是嗎?他們必須能夠從螞蟻進口嗎?)

我也記錄瞭如何設置一個最低限度的編譯環境。

0

我使用maven,並檢查只是pom &來源。
檢查了項目後,我運行mvn日食:日食
我告訴SVN忽略產生的.project等

9

實際上,我們保持了Netbeans和我們在SVN代碼Eclipse項目現在沒有麻煩。 Netbeans文件不會踩在Eclipse文件上。我們構建這樣我們的項目:

sample-project 
+ bin 
+ launches 
+ lib 
+ logs 
+ nbproject 
+ src 
    + java 
.classpath 
.project 
build.xml 

最大的點似乎是:

  • 禁止在任何IDE中 項目文件中的任何絕對路徑。
  • 設置項目文件將 類文件輸出到同一個目錄。
  • svn:忽略.nbproject 目錄中的私人 目錄。
  • svn:忽略用於 IDE文件輸出的目錄和任何其他運行時生成的目錄(如上面的日誌目錄)。
  • 讓人們一致使用 ,以便快速解決差異 。
  • 還維護獨立於IDE的編譯系統 ,例如巡航控制系統 。
  • 使用UTF-8並立即糾正任何編碼問題 。

我們正在開發Fedora 9 32位和64位,Vista和WindowsXP,大約一半的開發人員使用一個IDE或另一個。少數人使用和定期來回切換。

0

這裏是我做的:

  1. 在源代碼控制,只有保持你的Ant構建腳本和相關的類路徑。類路徑可以在ant腳本中顯式顯示,屬性文件也可以由ivy管理。
  2. 編寫一個ant目標從螞蟻類路徑生成Eclipse .classpath文件
  3. Netbeans將使用您的構建腳本和類路徑,只需通過一個自由格式項目配置它即可。

這樣,你得到IDE獨立構建腳本和快樂開發商:)

有一個關於如何做3.在NetBeans的網站的博客,但現在我找不到它。我已經提出了一些關於如何在我的網站上執行上述操作的注意事項 - link text(快速而醜陋,但很抱歉)

請注意,如果您使用Ivy(一個好主意)和eclipse,您可能會試圖使用日食常春藤插件。我用它,發現它是可怕的車和不可靠的。更好地使用2.以上。