IDEA编译Spring 5.2.x源码

环境:
win10系统
IDEA Ultimate 2019.3 【https://www.jetbrains.com/idea/download/#section=windows】
Spring 5.2.6 【https://github.com/spring-projects/spring-framework】
Gradle 6.4.1 【https://gradle.org/releases/】

编译步骤如下:

一、下载Spring源码

约16M,先下载,github下砸速度很慢,建议不要直接用idea的import from version control。为方便大家下载,我已上传到CSDN资源,免费快速下载【https://download.csdn.net/download/u013998466/12532966】

二、下载安装Gradle

安装教程同JDK,下载后解压到任意目录,添加系统环境变量后,在cmd命令行输入gradle -v能正确显示即可

三、修改编译配置

1、修改源码根目录的build.gradle,增加阿里云镜像库

maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}

IDEA编译Spring 5.2.x源码_第1张图片
2、修改源码根目录的settings.gradle,增加阿里云镜像库
IDEA编译Spring 5.2.x源码_第2张图片
3、修改源码根目录的gradle.properties,增加jdk路径和jvm内存
IDEA编译Spring 5.2.x源码_第3张图片
4、修改idea配置,解决控制台中文乱码问题。
通过Help->Edit Custom VM Options,增加-Dfile.encoding=UTF-8
IDEA编译Spring 5.2.x源码_第4张图片

四、预编译spring源码

打开源码根目录的import-into-idea.md,可以看到预编译命令
IDEA编译Spring 5.2.x源码_第5张图片
在源码根目录启动cmd命令行,执行gradlew :spring-oxm:compileTestJava进行预编译(本人预编译耗时31分钟)
IDEA编译Spring 5.2.x源码_第6张图片

五、导入idea编译spring源码

1、导入项目,选择Gradle
IDEA编译Spring 5.2.x源码_第7张图片
2、修改idea的gradle配置
IDEA编译Spring 5.2.x源码_第8张图片
3、等待自动编译完成(若没有自动编译,可在idea右侧的Gradle面板,选择项目的Tasks->other->compileTestJava)
IDEA编译Spring 5.2.x源码_第9张图片
IDEA编译Spring 5.2.x源码_第10张图片
IDEA编译Spring 5.2.x源码_第11张图片

六、测试源码

1、新建一个测试module
IDEA编译Spring 5.2.x源码_第12张图片2、在build.gradle里面增加依赖 compile(project(":spring-context"))
IDEA编译Spring 5.2.x源码_第13张图片
3、新建测试类

//包扫描
@Configuration
@ComponentScan("com.example")
public class Appconfig {
}

//服务bean
@Service
public class TestService {
	public void test(){
		System.out.println("啦啦啦");
	}
}

//测试bean获取
public class Test {
	public static void main(String[] args) {
		AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(Appconfig.class);
		applicationContext.getBean(TestService.class).test();
	}
}

4、结果输出
IDEA编译Spring 5.2.x源码_第14张图片
至此,完成编译,可以进行愉快而枯燥的源码学习啦!

你可能感兴趣的:(java)