本地构建Spring源码

 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"))
}

编写测试代码,运行

 参考:

https://www.cnblogs.com/babyanran/p/14964773.html

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值