今天將為大家介紹spring源碼編譯的過程,用spring 5.2.13進行了驗證,spring源碼官方默認使用gradle進行編譯,所以下文將結合gradle進行步驟介紹
步驟1:首先登錄spring官網Spring | Home選擇projects->springframework進入下圖所示頁面,點擊圖中右上角的貓的圖標進入spring的github下載頁面
步驟2:下載對應版本的spring源碼包,以5.3.12為例
進入Release v5.2.13.RELEASE · spring-projects/spring-framework (github.com)
點擊上圖中最下方的Sorce Code(Zip)包進行源碼下載
步驟3:選擇對應版本的gradle,下載gradle
首先查看gradle版本:查看文件位於:如spring-framework-5.2.13.RELEASE\gradle\wrapper\gradle-wrapper.properties,打開gradle-wrapper.properties文件,
其distributionUrl行記錄有gradle的版本號,到gradle官網進行對應下載,並配置環境變量(此處略,不清粗可以百度)
步驟4:修改gradle-wrapper.properties文件中distributionUrl為本地下載的gradle路徑,如
distributionUrl=file:///d:/software/gradle-5.6.4-bin.zip
步驟5: 修改spring-framework-5.2.13.RELEASE目錄下的build.gradle和setting.gradle文件
1:build.gradle文件修改
找到build.gradle,找到如下位置進行對應修改,(因為編譯過程中需要下載對應的依賴包,用國內的倉庫下載速度相對比較快)
(阿里雲倉庫概覽網址為:https://developer.aliyun.com/mvn/guide)
repositories {
maven { url "https://maven.aliyun.com/repository/public" }
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
2:同理,修改setting.gradle文件
pluginManagement {
repositories {
maven { url "https://maven.aliyun.com/repository/public" }
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
gradlePluginPortal()
maven { url 'https://repo.spring.io/plugins-release' }
}
}
步驟6:打開spring-framework-5.2.13.RELEASE目錄下的import-into-idea.md文件,參考文件中的說明進行編譯
執行 gradlew :spring-oxm:compileTestJava
注意:此處如為windows系統,需要到gradlew.bat文件存放位目錄進行cmd,進行執行
步驟7:執行成功后,打開ideal,在已有任意idea項目下進行gradle配置,
其中 Gradle user home為gradle的本地倉庫
上圖下方的Use Gradle from 配置本地的gradle路徑
步驟7: 將spring源碼包導入ideal進行編譯
如上圖所示,選中源碼包中的build.gradle文件,ideal進行自動編譯
步驟8:成功后,手動編譯spring-core模塊
在ideal右邊,選中gradle,手動執行spring-core模塊的other-》compileTestJava進行編譯(任意模塊都可以按spring-core模塊的編譯方法進行編譯)
編譯完成后,能看到每個模塊下有一個build文件夾,下面的lib文件夾存放了編譯后形成的對應jar包