1.在Windows上安裝Gradle
gradle工具類似於maven,用於項目的構建,此處主要用於構建spring源碼,以便我們將spring源碼導入eclipse。
-
開發環境
- Java:JDK8(必須是JDK或JRE7以上,使用java -version查看當前電腦java版本)
- 操作系統:Windows
-
安裝步驟
- 下載最新的Gradle壓縮包:Gradle官網:https://gradle.org/,當前最新版本下載地址:https://gradle.org/releases/,下載binary-only即可。
- 解壓下載的壓縮包到指定位置,比如:C:\Gradle\gradle-4.3.1
- 配置環境變量:右鍵計算機->屬性->高級系統設置->環境變量,在系統變量區域,點擊新建,輸入變量名為:GRADLE_HOME,變量值為:D:\Software\Gradle\gradle-4.3.1(根據實際情況)。找到Path,在原始內容基礎上加入%GRADLE_HOME%\bin;,必須以分號結束
- 測試配置是否成功
打開一個新的cmd命令窗口或者powershell或者其他命令行工具(比如cmder),輸入命令gradle -v,如果出現類似下面的消息,則說明配置成功。
2.Spring源碼下載及安裝
-
源碼下載方式
- 直接根據本博客提供的網址,自行下載需要的spring源碼版本,地址 https://github.com/spring-projects/spring-framework/tags,本博客推薦此方式,簡單粗暴;
- 使用GitHub從git上自行拉取 ,此方式適合喜歡git代碼管理或者願意學習git知識的人員。具體方式可參考:https://blog.csdn.net/u013030488/article/details/79837365。
-
代碼構建
拉取的Spring源碼並不能直接導入eclipse中,需要通過gradle構建才能導入,以spring-tx模塊為例,具體步驟如下:
1.從命令行進入到spring-tx文件夾下,運行gradle cleanIdea eclips命令,等待運行結束,當出現"success",表示構建完成;
構建完成后目錄變化:
2.構建完畢后,將項目spring-tx進行導入到Eclipse中(普通web項目導入流程);
3. 導入后,顯示為紅色!號,右擊項目選擇Build Path -->configure Build Path,可以看到project下的項目缺失,此時需要將這些項目也像Spring-tx一樣進行構建,下面 的截圖是已經處理完畢錯誤截的圖片,
想說明的是:這個項目依賴下面幾個spring-項目,所以也需要依次導入。
3.其他問題解決
- Spring源碼構建項目,導入eclipse后,缺失spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar的解決辦法:
在導入ide之后,發現有spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar不存在,在spring-framework目錄下執行gradle objenesisRepackJar和gradle cglibRepackJar命令,會在Spring-framework\spring-core\build\libs目錄下生成jar包。
- 導入eclipse的過程中發現spring-oxm缺少castor和jax
查看spring-oxm下的spring-oxm.gradle文件后,發現可以在spring-oxm項目目錄下執行下面兩個命令:
1.gradle genCastor
2.gradle genJaxb
控制台出現這個代碼表示成功,然后在spring-oxm的根目錄下會出現build文件夾,如下圖
然后將eclipse中的spring-oxm項目刪除,再重新導入spring-oxm項目后就不報錯了
- spring源碼gradle獲得eclipse工程時,spring-beans-groovy項目GroovyDynamicElementReader報錯解決
安裝一個eclipse的groovy插件,在eclipse的 Help -> Install New Software 中,添加groovy的下載連接:http://dist.springsource.org/milestone/GRECLIPSE/e4.8/,然后全 選后,開始下載,下載完后,重啟eclipse,然后clean一下項目就搞定了。
注意groovy插件版本需要根據eclipse的版本而不同。進入 https://github.com/groovy/groovy-eclipse/wiki查找和自己eclipse對應版本的groovy,詳細介紹見博客 https://blog.csdn.net/qq_27645299/article/details/72900801
-
結語
根據博客內容基本就完成了Spring源碼環境的搭建,后面就可以學習源碼了。