簡體   English   中英

你如何處理不同的Java IDE和svn?

[英]How do you handle different Java IDEs and svn?

您如何確保可以將代碼簽入Eclipse或NetBeans並在其中使用它?

編輯:如果您沒有簽入與ide相關的文件,則每次簽出項目時都必須重新配置buildpath,includes和所有這些內容。 我不知道,如果ant(特別是從eclipse創建/導出的ant構建文件)將無縫地與其他ide一起使用。

我們現在實際上為SVN中的代碼維護了一個Netbeans和一個Eclipse項目,沒有任何麻煩。 Netbeans文件不會踩到Eclipse文件。 我們的項目結構如下:

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

最重要的點似乎是:

  • 禁止IDE的項目文件中的任何絕對路徑。
  • 設置項目文件以將類文件輸出到同一目錄。
  • svn:忽略.nbproject目錄中的私有目錄。
  • svn:忽略用於IDE的類文件輸出的目錄以及任何其他運行時生成的目錄,如上面的logs目錄。
  • 讓人們始終如一地使用兩者,以便快速解決差異。
  • 還要維護一個獨立於IDE的構建系統,例如cruisecontrol。
  • 使用UTF-8並立即糾正任何編碼問題。

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

聰明的答案是“通過這樣做” - 除非你不使用多個IDE,否則你不知道你是否真的准備好使用多個IDE。 誠實。 :)

我總是看到多個平台更麻煩,因為它們可能使用不同的編碼標准(例如,Windows可能默認為ISO-8859-1,Linux為UTF-8) - 對我而言,編碼引起了比IDE更多的問題。

更多指針:

  • 您可能希望使用Maven( http://maven.apache.org ),讓它生成IDE特定文件,並且永遠不會將它們提交給源代碼控制。
  • 為了確保您正在生成正確的文物,您應該有一個專用服務器來構建您的可交付物(例如cruisecontrol),或者在ant,maven或任何其他工具的幫助下。 這些可交付成果是在開發機器之外進行測試的。 讓人們意識到自己機器外面還有另一個世界的好方法。
  • 禁止在源代碼管理中找到的任何IDE特定文件中包含任何特定於計算機的路徑。 始終按邏輯路徑名引用外部庫,最好包含其版本(如果不使用maven)

最好的事情可能是提交任何IDE相關文件(例如Eclipse的.project),這樣每個人都可以檢查項目並按照自己的意願做任務。

話雖這么說,我猜大多數IDE都有自己的配置文件方案,所以也許你可以在沒有任何沖突的情況下完成所有這些,但它感覺很混亂。

在大多數情況下,我同意seldaek,但我也傾向於說你至少應該提供一個文件,說明依賴項是什么,用於編譯的Java版本等等,以及NetBeans的其他任何內容/ Eclipse開發人員可能需要在他們的IDE中編譯。

我們目前只使用Eclipse,因此我們將所有Eclipse .classpath .project文件提交到svn,我認為這是更好的解決方案,因為每個人都能夠重現錯誤,而不是輕易地重復使用IDE細節。

我的理念是構建應該采用“最小公分母”方法。 源代碼控制的內容是構建所需的內容。 雖然我只使用Eclipse開發,但我的構建是在命令行使用ant。

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

我還記錄了如何設置一個最小的構建環境。

我使用maven,只檢查pom和來源。
簽出項目后,我運行了mvn eclipse:eclipse
我告訴svn忽略生成的.project等。

這是我做的:

  1. 僅在源代碼管理中維護您的ant構建腳本和關聯的類路徑。 Classpath可以在ant腳本中顯式,屬性文件或由ivy管理。
  2. 編寫一個ant目標,從ant類路徑生成Eclipse .classpath文件
  3. Netbeans將使用您的構建腳本和類路徑,只需通過自由格式項目進行配置即可。

這樣你就可以獲得獨立於IDE的構建腳本和開發人員:)

netbeans網站上有關於如何做的博客3.但我現在找不到它。 我已經在我的網站上做了一些關於如何進行上述操作的注意事項 - 鏈接文本 (雖然快速而丑陋,對不起)

請注意,如果您使用Ivy(一個好主意)和eclipse,您可能會想要使用eclipse常春藤插件。 我已經習慣了,發現它非常多而且不可靠。 最好使用2.以上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM