1. 程式人生 > >spring源碼學習1 - IDEA構建spring源碼閱讀環境

spring源碼學習1 - IDEA構建spring源碼閱讀環境

pro 繼續 alpha ascii ups spa port aliyun rom

1、下載spring源碼

github地址: https://github.com/spring-projects/spring-framework
選擇一個目錄,在這個目錄右鍵-Git Bash Here,然後一直等待下載完成

git clone https://github.com/spring-projects/spring-framework.git

技術分享圖片
下載完成之後我們進入spring-framework看看spring的源碼分布:
技術分享圖片

2、編譯

由於Spring源碼是采用Gradle這種自動化構建工具構建的,因此需要安裝 Gradle

gradle -v

技術分享圖片
如果使用IDEA作為開發工具,那麽需要認真閱讀 import-into-idea.md,它告訴了你導入IDEA的步驟,按照以下步驟來操作即可:

  1. Precompile spring-oxm with ./gradlew :spring-oxm:compileTestJava
  2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
  3. When prompted exclude the spring-aspects module (or after the import via File-> Project Structure -> Modules)
  4. Code away

技術分享圖片

等待IDEA項目構建完成...
在構建過程中發現報超時錯誤,此時需要找到build.gradle文件,將maven倉庫改成阿裏雲的倉庫

buildscript {
    repositories {
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
    }
    dependencies {
        classpath("io.spring.gradle:propdeps-plugin:0.0.9.RELEASE")
        classpath("org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16")
    }
}

改成之後IDEA自動繼續構建,又報以下錯誤
技術分享圖片

最後在一篇博客中找到解決方法,在repositories 下面添加以下倉庫 maven { url "http://repo.springsource.org/plugins-release" }
最終的配置如下:

buildscript {
    repositories {
        maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
        maven { url "http://repo.springsource.org/plugins-release" }
    }
    dependencies {
        classpath("io.spring.gradle:propdeps-plugin:0.0.9.RELEASE")
        classpath("org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.16")
    }
}

構建成功!
技術分享圖片

排除 spring-aspects 項目

選中spring-aspects,右鍵-Load/Unload Modules,進行如下設置:
技術分享圖片

至此,IDEA構建spring的源碼環境就配置好了!

spring源碼學習1 - IDEA構建spring源碼閱讀環境