2012-12-13 72 views
6

我遇到M2E的一個奇怪的行爲對日食:從遠程git倉庫的Eclipse M2E「更新Maven項目」增加了一個不必要的bin目錄

  1. 克隆項目
  2. 的目錄結構顯示在工程資源管理器沒有maven性質,只有根和包的pom.xml。沒有「JRE系統庫」,沒有「Maven依賴關係」。沒有「src/main/java」,只有「my.packages.1」,「my.packages.2」
  3. 我使用maven-> Update Maven Project更新項目。除了創建一個「bin」目錄並且bin目錄的內容與我從git簽出的內容相同之外,所有內容都很好地顯示。

例如: 更新Maven項目之前:

.settings/ 
src/ 
pom.xml 
.gitignore 

更新Maven項目後:

.settings/ 
src/ 
pom.xml 
.gitignore 
bin/ <------ this dir appears after update maven project 
bin/.settings/ <----------- contents the same as outside dir 
bin/src 
bin/.gitignore 
bin/pom.xml 

我應該如何避免這種奇怪的行爲?

回答

5

看來,在您執行「更新項目」之前,bin dir被配置爲輸出目錄。 Eclipse中默認隱藏輸出目錄(至少在Package Explorer和Project Explorer中)。當您將項目配置爲Maven項目時,輸出目錄更改爲target/classes。您的bin文件夾現在只是另一個文件夾,不會再隱藏。
既然你不再需要它,你可以安全地刪除它。

+0

謝謝你的回答。有什麼方法可以將項目默認設置爲maven項目? – dhchen

+1

不是我所知道的。但是您可以將項目導入爲Maven項目,然後在導入時正確配置它。爲此,請轉到菜單文件 - >導入 - > Maven - >現有的Maven項目 – dunni

0

它也發生在我身上,因爲我從.gitignore的回購中排除了.classpath。我最初認爲windows和linux開發者之間可能會有一些衝突,但我錯了,.classpath應該是相同的。

如果您還沒有.classpath,那麼在克隆時,java builder會在maven構建器重新創建一個乾淨的.classpath之前啓動並破壞這些東西。

結論,承諾並推動.classpath,這不再發生。