【Spring】源码编译

步骤1:首先登录spring官网下载源码。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
方式一:
在这里插入图片描述
这种方式在编译的时候会报异常,但是不影响编译,产生的原因主要是缺少git库
在这里插入图片描述

方式二:
在这里插入图片描述

步骤2:选择对应版本的gradle,下载gradle

首先查看gradle版本:查看文件位于:如spring-framework-5.2.19.RELEASE\gradle\wrapper\gradle-wrapper.properties,打开gradle-wrapper.properties文件,其distributionUrl行记录有gradle的版本号,到gradle官网进行对应下载。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

备注:-all比-bin多了一个docs文件夹和一个src文件夹。-bin是编译后的二进制发布版,-all还包含了源码和文档,比-bin大了几十兆,两者其余没有区别。

步骤3:配置环境变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
步骤4:修改gradle-wrapper.properties文件中distributionUrl为本地下载的gradle路径(解决网速慢下载不下来的情况,增加编译成功率)
在这里插入图片描述

  • distributionBase:下载之后的目录,GRADLE_USER_HOME 如果是windows系统默认问c:\Users\你的用户\.gradle
  • distributionPath:会自动拼接 distributionBase
  • distributionUrl:文件下载路径和文件名
  • zipStoreBase:是解压目录
  • zipStorePath:会自动拼接 zipStoreBase

备注:如果我们运行gradlew.bat 会自动去 file:///D:/Devlopement/Java/Gradle/gradle-5.6.4-bin.zip这个目录下载一个gradle到C:\Users\Administrator\.gradle\wrapper\dists然后解压到C:\Users\Administrator\.gradle\wrapper\dists在这里插入图片描述
步骤5: 修改spring-framework-5.2.19.RELEASE目录下的build.gradle和setting.gradle文件
1:build.gradle文件修改
找到build.gradle,找到如下位置进行对应修改,(因为编译过程中需要下载对应的依赖包,用国内的仓库下载速度相对比较快)这个文件相当于Maven的pom.xml管理项目的依赖等消息。

repositories {
	maven { url "https://maven.aliyun.com/repository/public" }
	maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
	mavenCentral()
	maven { url "https://repo.spring.io/libs-spring-framework-build" }
}

2:同理,修改setting.gradle文件

pluginManagement {
    repositories {
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
        gradlePluginPortal()
        maven { url 'https://repo.spring.io/plugins-release' }
    }
}	

步骤6:打开spring-framework-5.2.19.RELEASE目录下的import-into-idea.md文件,参考文件中的说明,进行预编译spring-oxm模块
在这里插入图片描述
打开源码所在文件夹,进入windows命令行界面
在这里插入图片描述
执行预编译命令

gradlew :spring-oxm:compileTestJava

在这里插入图片描述
步骤7:执行成功后,打开ideal,在已有任意idea项目下进行gradle配置,并导入spring源码

在这里插入图片描述
在这里插入图片描述

步骤8:成功后,手动编译spring-core模块
在这里插入图片描述
在这里插入图片描述


版权声明:本文为qq_38149054原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。