Spring原始碼學習一_下載Spring專案原始碼並編譯為Eclipse專案

bsr1983發表於2013-08-27

Spring原始碼學習一_下載Spring專案原始碼並編譯為Eclipse

1.下載Spring原始碼

       git下載地址:https://github.com/SpringSource/spring-framework/

2.下載完成後,編譯前需滿足的先決條件

1)當前系統中安裝了gradle,如果為安裝,可以從:http://www.gradle.org/downloads,選擇一個版本進行下載

2)當前系統安裝了OpenJDK 8 early access build 100 or later,點選連結可以下載。安裝後還需要確認JAVA_HOME環境變數中指向了剛安裝的JDK8

3)鑑於上次編譯Hibernate的經驗,建議修改區域語言為“英語(英國)”,防止在編譯過程中出現字元編碼錯誤。

3.執行編譯命令,將程式碼編譯為eclipse專案

1)命令列下切換噹噹前spring程式碼的根目錄

cd C:\Users\Administrator\Documents\GitHub\spring-framework

2)執行import-into-eclipse.bat,這次不是直接執行gradlew.bat,但開啟import-into-eclipse.bat可以看到,其實其內部還是呼叫了gradlew,如:

72   set COMMAND=gradlew :eclipse

90   call %COMMAND%

3)編譯時會提示你安裝Spring STS,下載地址

http://springsource.org/downloads/sts

選擇相應的版本下載,我選擇下載的是基於ECLIPSE KEPLER 4.332zip

下載地址為:

http://download.springsource.com/release/STS/3.3.0/dist/e4.3/spring-tool-suite-3.3.0.RELEASE-e4.3-win32.zip

直接回車確認即可

4)接著會提示要執行的命令是:

./gradlew cleanEclipse :spring-oxm:compileTestJava eclipse -x :eclipse

直接回車確認

5)接下來會自動下載所需的依賴包,等待其下載、編譯完成即可。

編譯的過程中,第一次編譯停留在“> Building > :spring-core:cglibRepackJar”這個提示處很久,檢視cmd的程式,貌似死了,我將其結束後重新執行,依舊停留在這個地方。

       注:在編譯過程中,經常出現在下載依賴項時沒有響應的情況,需要找到對應的java程式,結束後重新執行,或者直接關閉命令列視窗重新來一次,暫未找到具體原因。

       猜測應該和我的網路狀況和java環境有關,編譯過程中嘗試了jdk832位和64位版本,都有這個問題。

       在編譯多次不成功以後,我通過執行gradlew.bat install,嘗試先把所有的依賴項都先下載下來,在下載子專案相關的依賴項的過程中,仍然會出現命令沒有響應的情況,只能一次又一次地關閉,重新執行。

       一次又一次編譯假死後,終於看到了“BUILD SUCCESS,再次執行import-into-eclipse.bat,這次執行,跳過了很多之前需要下載的依賴項,應該是執行install命令的時候已經下載過了,但還是有一些仍然需要下載的依賴項。觀察輸出,會發現首先會下載依賴項所對應的pom檔案,接著才會下載對應的jar。應該是和Maven相關的,有時間要把Mavenantivygradle這些都看一下。

 

-----------------------------------------------分割線---------------------------------------------------

回家後,重新從github上下載原始碼,編譯為eclipse專案,沒有出現上述問題,因此,可以認為多次編譯中斷是網路原因造成的,另外,如果本地沒有安裝gradle的話,編譯時會自動下載,但jdk8還是需要預先安裝的。之前我安裝的是gradle1.7,而spring預設使用的是greadle1.6,暫時還不能確認是否和gradle的版本有關。

       

相關文章