Spring-Framework-5.2.x源码编译

编译环境

  • JDK1.8.0_241
  • IDEA2019.3.3
  • gradle-5.6.4-bin

准备工作

开始编译

解压zip包

springstruct.png

修改配置

需要修改两处地方

  • 打开gradle/wrapper/gradle-wrapper.properties

    gradlepath.png

  • 修改distributionUrl

    gradleurl.png

    修改成之前下载的gradle-5.6.4-bin.zip路径,我放在D盘下,所以我的路径为

    gradleurlup.png

  • 修改根目录下的build.gradle文件,修改maven私服地址

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

开始编译

  1. 编译compileTestJava模块

    打开源码所在文件夹,在windows cmd命令中输入

    gradlew :spring-oxm:compileTestJava
    

    显示BUILD SUCCESSFUL即可,不用管出现的git错误

  2. 导入项目到idea

    File -> New -> Project from Existing Sources -> 选择spring源码中的build.gradle文件

    然后静静等待即可

创建模块测试

  • new->model->gradle–>输入模块名称

  • 在新的模块中的build.gradle文件添加依赖

    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.12'
        compile(project(":spring-context"))
    }
    
  • 编写测试代码测试

    @Configuration
    public class QuickStart {
    
    	public static void main(String[] args) {
    		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(QuickStart.class);
    	}
    
    }
    

设置编译启动为idea方式

将红框部分修改如图所示

ideastart.png

再次启动将报错

error.png

这是由于少了个kotlin包,将包添加到library中

add_kotlin_lib.png

重新build项目,Build -> Rebuild Project

此时会报找不到一大堆aop的符号,不用管,直接再次测试,发现控制台已是idea方式了。