2013-01-22 50 views
0

我試圖使用Eclipse,Subversion和Maven的爲我的項目,每個人都告訴我永遠不要在下列文件中檢查:使用Eclipse與Subversion和Maven

target/ 
.classpath 
.project 
.settings 

但如果我不簽入和一些其他項目在Eclipse中檢出項目,Eclipse不知道它是什麼類型的項目。我們正在做一些事情嗎?

你是如何工作的?

回答

6

Eclipse爲Maven提供了一個插件;我相信它被稱爲m2eclipse。安裝完成後,您可以選擇從Maven項目導入並選擇pom.xml,即使.project.settings不存在,它也會將您的項目導入日食。所以你不需要將它們提交給svn。這具有IDE中立的優勢;您團隊的其他成員可能無需擔心使用Intellij IDEA或NetBeans。

另外Maven有一個用於eclipse的插件;你可以去pom.xml所在的位置,打開一個終端並鍵入mvn eclipse:eclipse,它會自動生成.project.settings.。不過,第一種選擇更值得推薦。

+0

最新版本的eclipse是否捆綁了m2eclipse?或者只是在更大的JavaEE配置中? –

+0

@Chuck Adams我真的不知道;上一次我使用了它沒有的eclipse;我使用Intellij IDEA作爲默認具有Maven集成的主要IDE。 – m3th0dman

+0

maven插件曾經被稱爲m2eclipse,但自從它從sonatype轉移到eclipse的基礎上,它被稱爲m2e –

1

我與日食,Maven和Git的同樣的問題,所以也許這是對你有幫助:

  1. 嘗試設置你的回購中的svn和檢查出來,但不要將其導入。
  2. 您必須通過文件 - >導入 - >現有Maven項目將項目導入到您的工作區中。
  3. 最後一步是分享項目。右擊 - >團隊 - >共享 - > SVN - >並將現有的設置爲回購。

這就是我在Eclipse中處理這個問題的方式。希望這足夠清楚了嗎? 順便說一句,你不應該檢查這些文件,因爲類路徑等可能會在其他機器上不同。

0

我檢查.classpath和.project,但不是很頻繁。你必須確保每個在項目上工作的人都有足夠接近的eclipse版本(包括特定的插件和eclipse功能)。有時候,如果確保幾乎沒有人檢查這些文件,並且每個人都只是比較並在版本控制更新時從版本控制手動更新這些文件,那麼您可以使用非常不同的eclipse版本。

如果您不檢查它們,每個人都必須創建一個空白項目,然後將源文件(以及所有版本控制文件或文件夾)加載到項目中。如果你非常小心,你可以複製這兩個文件,然後用選項設置來欺騙它們,使它們匹配。

請注意,Maven對此有很多幫助,因爲它負責處理.classpath文件的大部分內容。

0

不檢查這些文件的主要原因是IDE很可能會對這些文件進行更改以適應您的本地開發環境。如果每個人都在不斷地提交他們的版本,那麼這可能會導致衝突,從而「破壞」項目。也就是說,eclipse應該通過m2eclipse插件(我相信這些日子可能會默認烘焙)來實現不錯的maven集成。

Maven背後的想法正是這一點 - 可重現的構建跨平臺,交叉IDE等等 - 因此IDE不需要特定的文件來構建項目。導入帶有m2eclipse插件的項目應該很好地解決問題。

0

如果您的意思是其他成員簽出項目並且不適合他們,他們可以單獨檢查maven項目而不使用eclipse,然後使用m2eclipse插件將其作爲現有maven項目導入到eclipse中。這工作乾淨沒有任何問題(至少對我來說)。

0

如果你的團隊中的每個人都在使用Eclipse,並且同意該項目永遠不會使用其他任何東西,那麼你可以仔細檢查這些文件,但是如果有人使用IntelliJ,其他人的Netbeans會讓人感到惱火工具或他的Eclipse非常定製。

0

這取決於。

Maven文檔明確指出「不檢入.project/.classpath/.settings//因爲它們可以從pom.xml重新生成」。句子的後半部分(「它們可以重新生成」)不是真的,因此句子的第一部分(建議)可能會也可能不會,這取決於環境。並不是每一個Eclipse配置都可以從pom.xml重新生成,所以我認爲這個決定是基於你從它獲得的多少收益和被綁定到特定IDE之間的權衡。

所以這取決於。

對於「社區項目」,通常每個開發人員將使用不同的IDE和不同版本的IDE,我建議不要檢入這些文件。否則,對於不使用IDE和您的IDE版本的開發人員來說,這將是一件痛苦的事情。

對於大型「企業項目」,IDE和IDE版本不是由開發者自由選擇,而是由項目管理層決定的。因此,口述的東西,如編譯器(1),代碼格式,驗證規則,警告和錯誤配置,自定義內部插件配置等等。許多這些東西不能在pom.xml中設置(他們也不應該這樣做,因爲Maven不是和IDE,而是建築工具)。因此,在這種情況下,我會建議檢查這些文件,並責怪符合條件的開發人員,因爲他試圖不遵循指令。

(請注意,在這種情況下,我故意使用諸如「聽寫」和「責備」等詞語,因爲企業項目的項目管理不僅有權利而且也有責任「口授」和「責備」)

在另一側,一個人的項目,你不必擔心你的colleages,所以去檢查他們進來

但關鍵是,你必須知道你的circunstances和consecuences和決定你自己。

(1)不,「maven.compiler.source」不是要使用的編譯器。