spring-web源碼修改經驗
Spring源碼學習一_下載Spring項目源碼並編譯為Eclipse
1.下載Spring源碼
git下載地址:https://github.com/SpringSource/spring-framework/
2.下載完成後,編譯前需滿足的先決條件
1)當前係統中安裝了gradle,如果為安裝,可以從:https://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,下載地址
https://springsource.org/downloads/sts
選擇相應的版本下載,我選擇下載的是基於ECLIPSE KEPLER 4.3的32位zip版
下載地址為:
直接回車確認即可
4)接著會提示要運行的命令是:
./gradlew cleanEclipse :spring-oxm:compileTestJava eclipse -x :eclipse
直接回車確認
5)接下來會自動下載所需的依賴包,等待其下載、編譯完成即可。
編譯的過程中,第一次編譯停留在“> Building > :spring-core:cglibRepackJar”這個提示處很久,查看cmd的進程,貌似死了,我將其結束後重新運行,依舊停留在這個地方。
注:在編譯過程中,經常出現在下載依賴項時沒有響應的情況,需要找到對應的java進程,結束後重新運行,或者直接關閉命令行窗口重新來一次,暫未找到具體原因。
猜測應該和我的網絡狀況和java環境有關,編譯過程中嚐試了jdk8的32位和64位版本,都有這個問題。
在編譯多次不成功以後,我通過運行gradlew.bat install,嚐試先把所有的依賴項都先下載下來,在下載子項目相關的依賴項的過程中,仍然會出現命令沒有響應的情況,隻能一次又一次地關閉,重新運行。
一次又一次編譯假死後,終於看到了“BUILD SUCCESS”,再次運行import-into-eclipse.bat,這次運行,跳過了很多之前需要下載的依賴項,應該是運行install命令的時候已經下載過了,但還是有一些仍然需要下載的依賴項。觀察輸出,會發現首先會下載依賴項所對應的pom文件,接著才會下載對應的jar。應該是和Maven相關的,有時間要把Maven、ant、ivy、gradle這些都看一下。
-----------------------------------------------分割線---------------------------------------------------
回家後,重新從github上下載源碼,編譯為eclipse項目,沒有出現上述問題,因此,可以認為多次編譯中斷是網絡原因造成的,另外,如果本 地沒有安裝gradle的話,編譯時會自動下載,但jdk8還是需要預先安裝的。之前我安裝的是gradle1.7,而spring默認使用的是 greadle1.6,暫時還不能確認是否和gradle的版本有關。
最後更新:2017-09-11 12:03:13