開工:Spring 完美導(dǎo)入 IDEA
哈嘍大家好,我是阿Q!
春節(jié)期間,有小伙伴私信我說想要研究下Spring的源碼,想讓我出一期教程來實(shí)現(xiàn)IDEA導(dǎo)入Spring源碼,今天它來了~
版本 :IDEA 2020.2.3 ;Spring 5.0.x ;gradle 4.4.1 ;
先從github上面把 spring 源碼下載下來并解壓:
切記:解壓完成后不要直接用IDEA 打開,因?yàn)镾pring 的源碼是用 gradle 構(gòu)建的。如果已經(jīng)用IDEA 打開了請刪除后重新解壓。
我們找到文件夾
spring-framework-5.0.x\gradle\wrapper
下的 gradle-wrapper.properties 文件,查看里邊的 gradle 版本,去官網(wǎng)下載。
下載完成之后把 gradle 的環(huán)境變量配置一下,可以用gradle -version 來驗(yàn)證 gradle 是否配置成功
在 USER_HOME/.gradle/ 下面新建 init.gradle 文件,將國外源換成國內(nèi)鏡像
allprojects {
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if(url.startsWith('https://repo1.maven.org/maven2/')||url.startsWith('https://jcenter.bintray.com/')){
project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
remove repo
}
}
}
maven {
url REPOSITORY_URL
}
}
}
在 spring-framework-5.0.x 下打開git 的窗口執(zhí)行以下命令
./gradlew :spring-oxm:compileTestJava
該命令的作用是將 spring 轉(zhuǎn)成IDEA 可以導(dǎo)入的工程結(jié)構(gòu)。
如果你新開的 Windows 的 dos 窗口,先進(jìn)入源碼的目錄文件夾,執(zhí)行命令不用加前面的./
配置 IDEA 中的 gradle
使用 File -> open 把 Spring 工程導(dǎo)入到 IDEA中,并等待 jar 下載完成。
如遇報錯信息:
在 build.gradle 中添加
maven { url "http://maven.aliyun.com/nexus/content/groups/public"}
其目的就是為了換成國內(nèi)的鏡像(init.gradle 有時沒有生效)
編譯時報錯如下:
原因是 gradle 和 gradle 插件版本過舊,更換更高的版本可以解決,但這個問題只是提示,不影響編譯。
在 test 包中隨便找了一個單元測試運(yùn)行,成功運(yùn)行
以上就是今天的全部內(nèi)容了。