2024-02-01,记录。
项目环境:
jdk1.8、gradle 5.6.4 、git、spring-framework-5.2.22.RELEASE。
一、选定Spring-Framework版本
网址:https://github.com/spring-projects/spring-framework/tree/v5.2.22.RELEASE
二、本地环境准备
本地配置好jdk、gradle、git环境。其中gradle以源码指定的gradle版本为准。
在gradle-wrapper.properties中查看gradle版本。
三、使用git拉取代码
由于github拉去代码很慢,所以从gitee上拉取。在gitee上搜索“spring官方源码”,选择克隆。
由于这里默认下载的是最新的版本,所以添加指定版本的参数:
git clone --branch v5.2.22.RELEASE --single-branch https://gitee.com/xiaojinggege/spring-framew
ork.git
指定文件夹,进入cmd界面,运行git命令。
四、构建项目
1.修改setting.gradle文件,添加阿里的Maven仓库
pluginManagement {
repositories {
maven { url "https://maven.aliyun.com/repository/public" }
gradlePluginPortal()
maven { url 'https://repo.spring.io/plugins-release' }
}
}
2.修改gradle.properties文件
version=5.2.22.RELEASE
org.gradle.jvmargs=-Xmx1536M
org.gradle.caching=true
org.gradle.parallel=true
## 启用新的孵化模式
org.gradle.configureondemand=true
## 开启守护进程 通过开启守护进程,下一次构建的时候,将会连接这个守护进程进行构建,而不是重新fork一个gradle构建进程
org.gradle.daemon=true
3.修改build.gradle文件,加上阿里云仓库,提高下载速度。
repositories {
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
4.预编译spring-oxm
gradlew :spring-oxm:compileTestJava
5.预编译spring-core
gradlew :spring-core:compileTestJava
五、导入IDEA
使用IDEA打开build.gradle文件。配置项目的gradle的配置。等待项目构建完成。
六、新建Module,测试
新建module,选择gradle,配置依赖
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
implementation(project(":spring-instrument"))
implementation(project(":spring-core"))
implementation(project(":spring-context"))
implementation(project(":spring-context-support"))
implementation(project(":spring-beans"))
implementation(project(":spring-aop"))
implementation(project(":spring-expression"))
}
编写测试代码,运行
参考: