Spring5.1源碼編譯 (Spring源碼學習 一 )

Spring5.1.x源碼編譯是個沒有技術含量,但是很難成功的,折騰了好久,電腦還藍屏。

學習Java,肯定要學Spring框架,學了Spring,找工作肯定問框架源碼,學源碼你得自己會編譯,不然寫個註釋還得粘貼出來,總的來說,你得學會源碼編譯。


第一步:下載Spring源碼+Gradle

源碼地址:https://github.com/spring-projects/spring-framework。選擇具體的 branches

                 Spring5.1.x https://github.com/spring-projects/spring-framework.git  隨你git clone,還是download zip.

1.1 觀察文檔

 下載完成後的文件,打開 spring-framework-idea\gradle\wrapper\gradle-wrapper.properties 文件夾

  發現裏面有 distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip     //  gradle 版本

1.2 下載 gradle 版本

   gradle地址:  https://gradle.org/releases/    

   版本最好一致,版本不一致,有的成功了,反正我是失敗了


第二步:編譯方式選擇

   Spring 提供三種編譯代碼的方式,gradle方式,IDEA方式,eclipse方式

   在下載的源碼中有三個文件:分別教你如何編譯,但是我都失敗了

  2.1 gradle 添加環境變量,path裏面添加%%/bin,gradle -v 查看版本號,gradlew build 就可以了,反正我是不可以,還藍屏

  2.2 eclipse不想折騰了,用的也不多。


第三步:IDEA方式

 3.1 idea導入工程選擇 gradle,導入下載的代碼

  

 3.2 修改 gradle

 

3.3 更改鏡像源(可選) 推薦第一次不要改,如果不能的話再修改

 源碼下面有個 build.gradle 文件夾。

 

buildscript { 
    repositories { 
        maven { url 'https://plugins.gradle.org/m2/' }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } 
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'} 
}

plugins{
  原來的配置。。。。。。
}

allprojects { 
        repositories { 
            maven { url 'https://plugins.gradle.org/m2/' } 
            maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' } 
            maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }  
            maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'} 
        } 
}

  位置不能錯

工程會進行自動編譯了,時間可能會長,可能會短。


第四步: 編譯源碼

4.1 點擊IDEA右上方的gradle,過程已經build好,然後點擊 spring-core,按下圖一次點擊,編譯 compileTestJava

      core 是爲了添加兩個jar包,(Spring源碼防止包衝突,所以剔除了)。  

4.2 spring-oxm 也是一樣

4.3 spring-aspects 右擊忽略,我卡這邊好久,因爲spring的AOP用的aspectCJ這個包,不忽略無法編譯成功.

4.4 最後編譯全部,按照上面兩個圖。

第五步:測試

 新建module,選擇maven,你也可以選擇 gradle。我maven用的熟悉,(gradle寫Android,幾年不寫了,忘了)

  

工程都會建吧。小白不用學源碼,大神不屑看我,就我這種半桶水的才需要看源碼。

更改依賴,不然maven裏面還是maven倉庫裏面(file read only),不是源碼.

 5.1 點開

5.2 選擇源碼  classes  sources   把紅色的減去(一般是你的maven倉庫地址),加上你需要的。

   5.3 好了 斷點進去,可以編輯,如果需要成功,還是 gradle-> 指定包 -> jar 編譯的


不保證,你們都可以成功,我看了很多視頻很多博客折騰了很久,gradle 看臉,

需要編譯好的源碼,可以聯繫我,但是不建議,因爲很多依賴還是本機裝的。

第六步:最重要的步驟:

當你修改完源碼之後,再斷點調試的時候,位置變了,斷點的指向亂七八糟的,這時候,build spring 那一步,很快的,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章