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'}

在这里插入图片描述
2、修改源码根目录的settings.gradle,增加阿里云镜像库
在这里插入图片描述
3、修改源码根目录的gradle.properties,增加jdk路径和jvm内存
在这里插入图片描述
4、修改idea配置,解决控制台中文乱码问题。
通过Help->Edit Custom VM Options,增加-Dfile.encoding=UTF-8
在这里插入图片描述

四、预编译spring源码

打开源码根目录的import-into-idea.md,可以看到预编译命令
在这里插入图片描述
在源码根目录启动cmd命令行,执行gradlew :spring-oxm:compileTestJava进行预编译(本人预编译耗时31分钟)
在这里插入图片描述

五、导入idea编译spring源码

1、导入项目,选择Gradle
在这里插入图片描述
2、修改idea的gradle配置
在这里插入图片描述
3、等待自动编译完成(若没有自动编译,可在idea右侧的Gradle面板,选择项目的Tasks->other->compileTestJava)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、测试源码

1、新建一个测试module
在这里插入图片描述2、在build.gradle里面增加依赖 compile(project(":spring-context"))
在这里插入图片描述
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、结果输出
在这里插入图片描述
至此,完成编译,可以进行愉快而枯燥的源码学习啦!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值