2012-01-15 104 views
2

我很難在Intellij中設置springframework代碼。Idea Intellij中的springframework源代碼

我git從github克隆了springframework項目,並運行ant任務將所有庫導入ivy-cache目錄。 我找到了intellij項目的「spring-framework.ipr」文件,並打開它。 不幸的是,一些庫沒有正確映射到jar文件或丟失。所以我無法編譯IDE中的代碼庫。

我也嘗試導入爲intellij eclipse項目。 jar文件引用似乎沒問題。 但OXM模塊中存在編譯錯誤。一些測試類引用了自動生成的類,例如「〜.samples.flight.FlightDocument」,「〜.jaxb.test.FlightType」,並且它們不存在(ant測試目標在目標目錄中生成它們)。 在STS中似乎也出現了同樣的問題。

我引用這個博客帖子: http://blog.springsource.org/2009/03/03/building-spring-3/

中的IntelliJ什麼好主意設置春天代碼?
我使用intellij v11。

的Git分支:3.1.X
git的承諾:e8fc90ce3e4554f14eaa86ce05591249d3fe62fa

編譯錯誤例如:

.../org.springframework.oxm/src/test/java/org/springframework/oxm/xmlbeans/XmlBeansMarshaller Tests.java 

Error:(29,42) package org.springframework.samples.flight does not exist 
Error:(30,42) package org.springframework.samples.flight does not exist 
Error:(44,9) cannot find symbol class FlightsDocument 
Error:(44,58) package FlightsDocument does not exist 
.... 

感謝,

+0

更好地添加到您遇到的錯誤的問題。 – yair 2012-01-15 07:05:43

+0

爲什麼不只是將目標目錄中生成的代碼的路徑添加到源路徑中? – jackrabbit 2012-01-15 07:50:55

回答

1

問題就迎刃而解了。

「spring-framework.ipr」是intellij的一個。

教訓:

  • 的JUnit的完全錯誤的版本在彈簧framework.ipr文件引用。
  • 當ant build測試失敗時,後續模塊將不會建立。所以,所需的庫不會被下載到ivy-cache/repository中。
  • 「蟻罐子」的目標將無法下載測試相關的庫,因爲目標不運行測試

通過了所有的測試和手動固定JUnit的引用之後,最後的IntelliJ沒有錯誤。

+0

很高興你能解決它。我們很快會對Spring的構建系統進行重大更新,並將其轉移到Gradle。您是否有興趣幫助確保這是一個平穩過渡,即在IDEA中進行測試?你可以通過vmware.com在cbeams上找到我。 – 2012-01-18 09:08:46