如何導入spring源碼到IDEA
環(huán)境:IDEA2019.3, jdk1.8.0_191,spring-framework-5.0.5.RELEASE,gradle-4.4.1
前期準備
1.訪問spring官網下載spring framework源碼
spring源碼放在了github,點擊如下圖中的按鈕訪問(有可能訪問不了github官網,可參考此處)
如下圖步驟選擇要下載的spring源碼版本
點擊code–》Download ZIP下載
解壓到某個目錄下
2.安裝gradle
到解壓的spring源碼目錄下spring-framework-5.0.5.RELEASE\gradle\wrapper,打開gradle-wrapper.properties文件查看需要安裝的gradle版本(此處:gradle-4.4.1-bin.zip)。
訪問gradle官網https://gradle.org/releases/,下滑找到需要的版本,點擊binary-only下載
直接解壓到你想要的目錄下
在gradle的init.d目錄下新建build.gradle,寫入如下代碼。目的是編譯源碼的時候快些
allprojects{ repositories { def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public' def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter' all { ArtifactRepository repo -> if(repo instanceof MavenArtifactRepository){ def url = repo.url.toString() if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('http://repo1.maven.org/maven2')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL." remove repo } if (url.startsWith('https://jcenter.bintray.com/') || url.startsWith('http://jcenter.bintray.com/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL." remove repo } } } maven { url ALIYUN_REPOSITORY_URL url ALIYUN_JCENTER_URL } } buildscript{ repositories { def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public' def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter' all { ArtifactRepository repo -> if(repo instanceof MavenArtifactRepository){ def url = repo.url.toString() if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('http://repo1.maven.org/maven2')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL." remove repo } if (url.startsWith('https://jcenter.bintray.com/') || url.startsWith('http://jcenter.bintray.com/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL." remove repo } } } maven { url ALIYUN_REPOSITORY_URL url ALIYUN_JCENTER_URL } } } }
設置gradle的環(huán)境變量(類似設置jdk的環(huán)境變量)。新建GRADLE_HOME系統(tǒng)變量,變量值為自己解壓的gradle目錄
編輯path變量,在后面追加%GRADLE_HOME%\bin
cmd輸入gradle -v驗證是否安裝并配置好gradle。如下圖所示那樣就已經配置好gradle了
新建gradle倉庫(repository),比如:
這一步可以不做,改下spring源碼目錄下spring-framework-5.0.5.RELEASE\gradle\wrappe\gradle-wrapper.properties文件的distributionUrl的值(本地安裝的gradle路徑),不然編譯spring源碼的時候會去下載gradle
導入spring源碼到IDEA
1.打開spring-framework-5.0.5.RELEASE下的import-into-idea.md,看下官方導入IDEA的步驟
steps:
1)編譯spring-oxm模塊,這一步看2.5
2)選擇spring-framework-5.0.5.RELEASE下builde.gradle文件導入IDEA
3)排除spring-aspects模塊,這一步看2.4
2.導入IDEA步驟
2.1打開IDEA點擊import project,不要點open
然后點擊spring-framework-5.0.5.RELEASE下builde.gradle文件
2.2配置項目的gradle
2.3項目配置
2.4排除spring-aspects模塊
spring-aspects模塊使用了aspectJ的jar,所以要先排除。不然很可能中途編譯spring源碼失敗,等到spring源碼編譯好了可以參考spring源碼項目使用spring-aspects,配置
2.5編譯spring-oxm
使用gradle :spring-oxm:compileTestJava編譯spring-oxm模塊,下圖是我這邊編譯成功的圖
2.6項目build。
項目build要下載spring-framework需要的jar,此過程一般要很長的時間。如果在項目build的過程中失敗,可以重新build或者重新打開項目
2.7查看項目是否build好
項目build好后gradle面板和module面板就是這樣的,和剛導入項目時不一樣
2.8編譯其他模塊.
可能還有其它模塊沒有編譯(如:spring-web、spring-orm。。。),可以選擇spring–>Tasks–>other–>compileTestJava編譯其他模塊
編譯好的模塊下面一般會有build目錄,build目錄下有個classes目錄存放編譯好的字節(jié)碼文件
3.簡單調試
到這里已經構建好了spring源碼項目,可以在spring下新建模塊來測試環(huán)境是否有問題
3.1新建模塊
project structure–》modules–》spring–》add–》new module
確保要新建的模塊的信息如下圖,然后點擊next
填好parent、模塊名稱點擊finish,點擊ok
稍等一會就可以看到新建的模塊
3.2測試
創(chuàng)建BeanEntity配置類
新建Test測試,從運行結果看完全沒有問題
注意:我用的環(huán)境:IDEA2019.3, jdk1.8.0_191,spring-framework-5.0.5.RELEASE,gradle-4.4.1
環(huán)境不同可能中途會有些其他問題
到此這篇關于如何導入spring源碼到IDEA的文章就介紹到這了,更多相關導入spring源碼到IDEA內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring Boot + Vue 前后端分離開發(fā)之前端網絡請求封裝與配置
這篇文章主要介紹了Spring Boot + Vue 前后端分離開發(fā)之前端網絡請求封裝與配置方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-05-05