Gradle编译Spring的源码(超详细)

Gradle编译Spring的源码

1、下载安装插件

下载安装gradle和spring5的源码包,并且配置好gradle的环境、

2、导入项目
选择项目的gradle文件进行导入:
在这里插入图片描述
配置好自动导包和本地的gradle
在这里插入图片描述

点击确定之后,会进入编译,一定会报错,我们拭目以待!
错误一:提示spring-beans.gradle错误。解决方案:直接注释掉该句话。如图所示。
在这里插入图片描述
在这里插入图片描述
这里会进行大量的jar的下载,请耐心等待。
编译完成后,对oxm和beans和context进行依次的编译。compileTestJava
在这里插入图片描述

错误二:提示beans模块出现循环依赖
在这里插入图片描述

解决方案:在spring-beans.gradle后面加这样几句代码:

def deps = compileGroovy.taskDependencies.immutableValues + compileGroovy.taskDependencies.mutableValues
compileGroovy.dependsOn = deps - "compileJava"
compileKotlin.dependsOn(compileGroovy)
compileKotlin.classpath += files(compileGroovy.destinationDir)

效果图如下图;
在这里插入图片描述

我们继续进行编译、初次编译时间可能会较长,请耐心等待。(三个模块都需要按顺序进行编译)

编译完成我们可以创建项目(gradle项目)了:
项目创建完成之后添加spring-context的依赖;

dependencies {
    compile(project(":spring-context"))
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

这时候我们写代码进行测试:

@Configuration
public class MainConfig {
   
}
public class MainTest {

   public static void main(String[] args) {
      AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MainConfig.class);
      System.out.println(context);
   }
}

点击运行!
错误三:显示找不到instrument包
在这里插入图片描述

解决方案:在我们自己的模块中添加spring-instrument包的依赖:

compile(project(":spring-instrument"))

最终的依赖:

dependencies {
    compile(project(":spring-context"))
    compile(project(":spring-instrument"))
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

再次运行代码:成功!!

到此为止,gradle编译spring源码结束!

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页