日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring源码下载编译阅读

發布時間:2023/12/10 javascript 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring源码下载编译阅读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.前言:

經過多次拉取Spring源碼編譯失敗經歷,一下抓取配置編譯過程各個軟件版本可能有影響因此先做以記錄(時間不同也會導致版本出入要注意)
Idea:2020.1.1(參考文獻博主2019.3.3版本也可)
插件:maven(3.6.3)(未用到)Gradle (4.10.3) Kotlin(idea內裝)
JDK:原機安裝1.8版本 需要11版本(后續會說明JDK1.8問題)
注:流程可能較長,源碼拉取編譯不易,耐心閱讀

2.流程

2.1抓取Spring源碼

GITHUB網址:https://github.com/spring-projects/spring-framework
注意筆者:2020.12.9抓取版本 (v5.3.3-SNAPSHOT)版本可能會導致后期配置時的不適,同時碼云上也有Springframework版本 暫未以此測試過

2.2gradle下載及安裝

獲取gradle-4.10.3,地址為:https://services.gradle.org/distributions/

,這里我們只選擇安裝文件即可,下載完畢后解壓到相應目錄即可(建議全英文目錄) 直接訪問該網址下載可能較慢,可搭”梯子“
配置環境變量同java:

建立系統變量GRADLE_HOME 值為解壓目錄中bin文件夾的上一級目錄(bin在這個目錄下)

編輯PATH系統變量


配置完成以后win+r,輸入cmd進入dos界面,鍵入命令gradle -v,查看版本信息確保配置無誤

此時可以打開idea配置
File->Settings
安裝插件Gradle(該版本idea安裝插件都需要重啟)

File->Settings->Gradle 配置相關信息 Gradle user home 和剛剛環境變量配置路徑一致bin上級目錄

3.準備編譯:

準備創建項目

選擇拉取的項目路徑:

選擇導入模式

選擇在新窗口打開編譯
此時需要確認剛剛的Gradle配置是否無誤打開File->Setttings ->Gradle 查看對比
此時可以看到項目開始加載下載,畫圈處會有進度條或者直接以彈窗形式 該步驟需要等待較長時間
懷疑是因為Gradle沒有配置國內鏡像(類是maven) 這個大家可以查閱相關配置資料嘗試
筆者下載三小時左右完成

下載編譯完成右側gradle框如圖所示 控制臺也會有成功提示(截圖控制臺顯示是模擬的因為安裝好了)


需要談到一點,網上教程此處直接下載編譯成功,筆者測試時有一次報錯,jar包下載錯誤(懷疑是網絡不穩定導致)如圖點擊reimport按鈕可以再次嘗試 完成

接下來可以在其中創建工程測試項目(注意此時源碼可以注釋修改 ,編譯運行還可能有錯因此還有記錄)

4創建項目測試

項目中右鍵新建項目
畫圈處是筆者后續編譯出錯的一個原因 應該是要JDK 11 否則spring-core包中有個java依賴找不到


這個時候需要修改build.gradle文件(類似于maven關聯其他模塊否則不能使用項目下其他包類)


內容如下

plugins {id 'java' }group 'org.springframework' version '5.3.2-SNAPSHOT'repositories {mavenCentral() }dependencies {compile(project(":spring-context"))testCompile group: 'junit', name: 'junit', version: '4.12' }

在默認生成文件下添加了該行

刷新配置加載:

正常編寫spring代碼運行后如圖所示錯誤:

5這里面有三個問題:

1.
Error:(354, 51) java: 找不到符號
符號: 變量 CoroutinesUtils
位置: 類 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar
2.程序包jdk.jfr不存在
3.缺少 cglib 和 objenesis 包
Kotlin: warnings found and -Weeror specified

問題1解決:



添加依賴包 該包項目中有 在源碼目錄項目spring-core/kotlin-coroutines/build/libs下

選擇
即可解決

問題2解決:

更換idea的JDK為JDK11(注意這個可以官網下載安裝即可不需要配置到環境變量去使用那么麻煩)
本地有相關JDK11包即可

問題3解決:

emmm這個應該不算是問題 只是自己沒有學過gradle 不太清楚運行流程原理
右側Gradle中找到spring-core模塊的tasks/other下

找到:cglibRepackJar 和 objenesisRepackJar把雙擊加載即可
此時整個spring框架加載編譯完成可以自己編寫代碼測試,開啟閱讀源碼

總結

以上是生活随笔為你收集整理的Spring源码下载编译阅读的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。