Spring5.0原始碼學習系列之部署構建Spring原始碼(一)
1、環境準備
- JAR管理:gradle 4.9
- 開發IDE:IntelliJ IDEA 2018.2.5
- JDK:jdk1.8.0_31
- Git Server:Git fro window 2.8.3
- Git Client:SmartGit18.1.5(可選)
Spring框架的jar管理是通過gradle的,所以還是搭建一下gradle環境,Git是用來代碼管理的
2、下載Gradle
去gradle官網下載:https://services.gradle.org/distributions/

ps : 建議下載4.x版本,6.7版本和SpringFramework5.0不兼容,build時候會提示,暫時沒找到方法,所以我換成Gradle4.9版本
下載gradle之后,配置環境變數:新建GRADLE_HOME

Path路徑后面加上%GRADLE_HOME%\bin;

cmd:gradle -v驗證gradle是否安裝成功:

3、配置gradle倉庫
在%GRADLE_HOME%新建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
}
}
}
新增系統變數GRADLE_USER_HOME指定倉庫位置,ps:名字要固定為GRADLE_USER_HOME

4、IDEA集成gradle
安裝Gradle插件

安裝好插件之后,新建一個gradle專案驗證

Setting配置好gradle,如圖:

5、下載Spring原始碼
github鏈接:https://github.com/spring-projects/spring-framework
安裝好Git環境之后,git clone Spring原始碼
git clone https://github.com/spring-projects/spring-framework.git -b 5.0.x
也可以使用客戶端軟體SmartGit下載Spring原始碼:

6、import to idea
下載好SpringFramework原始碼之后,在根目錄里,找到import-into-idea.md,這是一份說明檔案:

用typora打開說明檔案:檔案介紹了匯入idea的方法,我們按照官方檔案來操作

- Precompile
spring-oxmwith./gradlew :spring-oxm:compileTestJava
意思是要用gradle編譯spring-oxm專案,注意:在window系統要用gradlew :spring-oxm:compileTestJava命令,不用加上./,這個是linux系統的命令
我試過,沒編譯成功,因為spring-oxm專案依賴于spring-bean工程,用官方的編譯太困難了,遇到好幾個問題,所以我就繞過,用idea的auto import自動編譯部署
- Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
步驟2是告訴我們要import專案,不過官方readme說明太簡單,所以本博客進行比較詳細介紹:
ps:注意勾選auto-import,匯入專案時候就會自動import自動構建專案

.gradle路徑:

- When prompted exclude the
spring-aspectsmodule (or after the import via File-> Project Structure -> Modules)
這個意思是排除spring-aspects,所以打開setting.gradle,注釋代碼如圖:

- Code away
這個就是自己新建專案編碼,略過
編譯程序是比較麻煩的,有問題就要看日志,網上找找資料

可能遇到的問題:
No such property: values for class: org.gradle.api.internal.tasks.DefaultTaskDependency
Possible solutions: values

只能先注釋代碼compileGroovy.dependsOn = compileGroovy.taskDependencies.values - "compileJava"
7、Known issues

9、使用阿里倉庫
國外的倉庫下載網速可能比較慢,所以要換下阿里的倉庫地址:
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}

10、新建Module
選擇Spring-framework->New -> Module

是屬于spring模塊的:


CSDN認證博客專家
分布式
Java
Spring
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/188043.html
標籤:其他
上一篇:淺談Java中資料的初始化順序(含靜態資料的初始化)
下一篇:約瑟夫死亡游戲(回圈單鏈表)
