Spring Framework源码编译

编译Spring-Frameworkn源码,使用以下环境:

名称 版本
macOS 10.15.6
Git 2.24.3
IntelliJ IDEA 2020.1.2
clashx(科学上网,用来下载源码依赖的jar) 1.20.3
JDK IntelliJ IDEA中的OpenJDK14
Gradle IntelliJ IDEA中的Gradle
Spring-Framework源码 5.3.0-SNAPSHOT

下载Spring-Framework源码

1
2
# 下载
git clone https://github.com/spring-projects/spring-framework.git

用IntelliJ IDEA编译项目

用IntelliJ IDEA打开Spring-Framework项目

在idea里下载最新的OpenJDK14.

paste image
paste image

使用gradle编译项目

点击页面右上角的Gradle -> 刷新图标开始编译。中间如果有报错,重复点击刷新图标
编译期间会下载项目依赖的jar包,很多jar包都在国外,可能会有下载失败的情况,这里我使用了科学上网,一个多小时完成了编译。
paste image

编译完成

paste image

新建模块测试编译是否正常

在项目里新建模块context-test

引入spring-context依赖

在新建模块的build.gradle文件的dependencies节点加入以下下内容:

1
compile(project(":spring-context"))

创建测试类

src/main/java创建com.duanjw.TestApplication类,输入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.duanjw;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ConfigurationClassPostProcessor;

/**
* 测试spring-context
*
* @author duanjw
*/
public class TestApplication {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
ctx.refresh();
System.out.println(ctx.getBean(ConfigurationClassPostProcessor.class));
}
}

运行main方法

paste image

坚持原创技术分享,您的支持将鼓励我继续创作!