spring源碼編譯


今天將為大家介紹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包

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM