Spring 源碼學習-環境準備

一塊兒來準備閱讀 `Spring` 源碼

代碼環境準備

  • JDK 8
  • Gradle
  • 編譯工具(經常使用 IDEA)
  • 源碼地址

下載源碼到本地java

$ git clone git@github.com:spring-projects/spring-framework.git
複製代碼

不建議下載 master 分支的代碼,由於有些小問題一直在修復,因此我下載的是 v2.3.0.M2 版本的 releases 代碼。linux

由於我也是一邊看書,一邊作筆記,下載了源碼,寫的 demo 代碼和註釋都在裏面,小夥伴們能夠下載我上傳的代碼,親測可運行~git

碼雲 Gitee 地址github

Github 地址spring


設置 Gradle 路徑

有兩種選擇:api

  • 選擇 IDEA 工具中默認(Recommend)
  • 選擇用戶本身下載的 Gradle (我本地經過 brew 下載)

最後設定:bash


下載依賴和編譯

導入項目後,識別到 Gradle 依賴後,首先會從中央庫下載相關的依賴。mvc

下載完依賴後,進行代碼編譯,經過圖形界面,選擇根路徑下的 build 任務。工具

最後編譯生成 class 等文件路徑,在各自模塊的 build 目錄。源碼分析


Spring 源碼分析大體流程

  • 介紹概念
  • 查看類的集成體系
  • 簡單 demo
  • 查看源碼
  • 分析流程

遇到的坑

沒法識別 Gradle 項目

這個問題是經過 version controll 克隆代碼後,打開新項目時一直提示

Could not resolve symbol "XXX"
# 還有右上角彈出的
Try resolve again
複製代碼

一開始不知道是哪一個導入流程錯誤,經過查詢資料,發現將代碼 clone 到本地後,經過下面步驟操做,項目就能正常識別和下載依賴了:

  • 點擊 IDEAFile -> Open,選擇項目的 build.gradle
  • 按照提示設定 Gradle
  • 下載依賴和編譯

gradle 版本和 Idea 版本不匹配

本地的 gradle 版本號是 5.4.1

$ gradle -v

Welcome to Gradle 5.4.1!
複製代碼

IDEA 工具的版本是 2018.2,查了資料,有多是高版本 gradle 須要新版本 IDEA,因而我就去下載新版工具。

(順便安利一下新版本的主題 Dark Purple Theme)

更新 IDEA 後,在構建項目時,在最後一步卡住了,提示:

java.lang.AbstractMethodError: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierImpl.getModuleIdentifier()Lorg/gradle/api/artifacts/ModuleIdentifier;
複製代碼

查看資料,大概是 gradle 升級後,出現了 jar 版本兼容的問題,因而按照提示,修改了編譯方式(看上面 gradle 選擇方式圖片),修改完成後,可以正常構建項目。


參考資料

一、 解決IDEA在導入Gradle項目以後報Could not resolve symbol "XXX"錯誤

二、gradle版本引發編譯報錯問題:Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierImpl.getM

三、Gradle 5 IntelJ java.lang.AbstractMethodError

傳送門:

相關文章
相關標籤/搜索