spring原始碼閱讀環境(幾分鐘下載包)
簡述:
- 不能忍受慢(看到這裡你就準備笑吧!!)
- 其他大神的部落格實在讓我難受
- 自己動手,下載spring,編譯spring原始碼,匯入idea,開啟學習模式!!
- 筆者環境:java1.8.0_181,gradle 5.6.3,idea2019.2.4
1.下載spring原始碼:
github地址:https://github.com/spring-projects/spring-framework
碼雲地址:https://gitee.com/LSZYAB/spring-framework.git
github的童鞋,很慢!碼雲的童鞋飛起!!但是筆者給的是spring5.1.x的,想要看低版本的怎麼辦?
給個老鐵的連結:
[csdn]: https://blog.csdn.net/xy_zhangchn/article/details/81558144
2.安裝gradle:
- 官網(慢):http://gradle.org/downloads
- 下載地址(快):https://services.gradle.org/distributions/
- 解壓:
- 環境配置:
新建系統變數:
GRADLE_HOME
E:\install-dev\gradle-5.6.3 ## 修改為自己的路徑
Path中新增資訊:
%GRADLE_HOME%\bin
cmd檢視gradle版本:gradle -v
- 修改gradle配置:
gradle根目錄:\init.d\下,新建一個:init.gradle 檔案,新增以下內容(為了下載包更快唄!)
allprojects{
repositories {
def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
def url = repo.url.toString()
if ((repo instanceof MavenArtifactRepository) && (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原始碼根目錄下build.gradle檔案:將原來的資訊替換成以下的資訊
allprojects {
repositories {
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
}
3.構建原始碼:
- 在原始碼根目錄有一個檔案:import-into-idea.md(別理它,我們繼續!!)
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
cmd到spring原始碼下:執行gradlew :spring-oxm:compileTestJava
,然後體驗一下速度吧!!
出現如圖所示的,構建成功了!接下來匯入idea了!!
4.匯入idea:
- File -> New -> Project from Existing Sources -> 找到選擇spring-framework原始碼 -> 選擇build.gradle
- 筆者的開啟之後,idea配置gradle: File->setting->gradle
點選ok,右下角開始載入包,但是還是慢!!最後修改:gradle.properties配置檔案:
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
好了!!筆者沒有花幾個小時下載包,構建的時候也沒出現什麼問題,人品比較好,江湖再見!!
(如果你直接下拉我的碼雲:對不住了!!我已經構建好了,直接匯入idea吧,但是記得走修改gradle配置,讓它更‘快!!!’)
相關文章
- buffer 原始碼包閱讀原始碼
- JDK1.8原始碼分析03之idea搭建原始碼閱讀環境JDK原始碼Idea
- Spring原始碼閱讀——ClassPathXmlApplicationContext(二)Spring原始碼XMLAPPContext
- Ubuntu環境下載OpenJDK11原始碼UbuntuJDK原始碼
- 1、Spring原始碼環境搭建Spring原始碼
- Spring原始碼閱讀-IoC容器解析Spring原始碼
- 【原始碼閱讀】AndPermission原始碼閱讀原始碼
- 第 31 期 flag 包原始碼閱讀原始碼
- Spring原始碼分析(一) -- 環境搭建Spring原始碼
- Spring原始碼解析之環境搭建Spring原始碼
- spring原始碼閱讀筆記08:bean載入之建立beanSpring原始碼筆記Bean
- Spring 原始碼閱讀之標籤解析Spring原始碼
- Java類載入原始碼閱讀Java原始碼
- 【初學】Spring原始碼筆記之零:閱讀原始碼Spring原始碼筆記
- 【原始碼閱讀】Glide原始碼閱讀之with方法(一)原始碼IDE
- 【原始碼閱讀】Glide原始碼閱讀之into方法(三)原始碼IDE
- spring原始碼閱讀--容器啟動過程Spring原始碼
- Spring 6 原始碼編譯和高效閱讀原始碼技巧分享Spring原始碼編譯
- 【原始碼閱讀】Glide原始碼閱讀之load方法(二)原始碼IDE
- Spring原始碼閱讀-ApplicationContext體系結構分析Spring原始碼APPContext
- 學習Spring原始碼篇之環境搭建Spring原始碼
- ReactorKit原始碼閱讀React原始碼
- Vollery原始碼閱讀(—)原始碼
- NGINX原始碼閱讀Nginx原始碼
- ThreadLocal原始碼閱讀thread原始碼
- 原始碼閱讀-HashMap原始碼HashMap
- Runtime 原始碼閱讀原始碼
- RunLoop 原始碼閱讀OOP原始碼
- AmplifyImpostors原始碼閱讀原始碼
- stack原始碼閱讀原始碼
- CountDownLatch原始碼閱讀CountDownLatch原始碼
- fuzz原始碼閱讀原始碼
- HashMap 原始碼閱讀HashMap原始碼
- delta原始碼閱讀原始碼
- AQS原始碼閱讀AQS原始碼
- Mux 原始碼閱讀UX原始碼
- ConcurrentHashMap原始碼閱讀HashMap原始碼
- HashMap原始碼閱讀HashMap原始碼