使用idea編譯spring-framework5.0源碼
自從邁入java開發這個行當,從來沒有好好的研究過源碼,深感慚愧,話不多說,今天上一篇使用idea編譯spring5.0源碼。
以下在win中構建和編譯過程分為
- jdk環境的配置
- gradle的下載和安裝
- spring-framework的下載和構建
- 創建新moudle驗證編譯是否成功
一、window環境下jdk的配置
該部分請不清楚的小夥伴參照其他文章執行,再次不在贅述,本文中使用jdk1.8.0_131
二、spring-frameword 是由gradle構建,下面來下載和安裝
下載和選擇
- 下載地址:https://services.gradle.org/distributions/
- 根據spring的版本,當前使用的spring-frameword是使用gradle-4.4編譯的,此處選擇4.9-bin安裝包即可。
安裝:
- 選擇安裝路徑,最好是英文目錄
- 解壓gradle-4.9-bin.zip
- 配置環境變量
GRADLE_HOME:
GRADLE_REPOSTORY_HOME:gradle的倉庫地址
三、spring-framework 的下載和構建
下載地址1:官網:https://github.com/spring-projects/spring-framework
下載地址2:5.0源碼(未編譯):https://github.com/escaperun/Spring-Framework-master-5.0.x.git
構建:
構建之前請閱讀:spring提供了eclipse和idea兩種IDE的方式,本文使用idea
閱讀引入idea的文件,發現,在構建直線我們需要預先構建 spring-oxm、spring-core,本文提議使用CMD預先構建如下四個目錄
- ./gradlew :spring-oxm:compileTestJava
- ./gradlew :spring-core:compileTestJava
- ./gradlew :spring-context:compileTestJava
- ./gradlew :spring-beans:compileTestJava
預編譯完成:
5.引入idea Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle);
6.引入完成,等待構建完畢,時間長短取決於網速。
No such property: values for class: org.gradle.api.internal.tasks.DefaultTaskDependency
Possible solutions: values
編譯不通過,處理方式:
7. spring-aspects 編譯的過程中會出問題,這裏我們把它移除
8.new Module,然後引入依賴
9. 創建測試方法,然後build
10.執行測試方法
至此,spring源碼的編譯和測試工作完成,我們可以愉快地進行debug了。
如果沒有成功,那麽就直接下載吧
編譯好的spring5.0地址 :
鏈接:https://pan.baidu.com/s/1AcQp7KUswXPFoEzXx3X8uA
提取碼:p3pk
ps:本文有不足支出,還望各位小夥伴批評指正,希望能幫助想了解spring的小夥伴。
使用idea編譯spring-framework5.0源碼