今天将为大家介绍spring源码编译的过程,用spring 5.2.13进行了验证,spring源码官方默认使用gradle进行编译,所以下文将结合gradle进行步骤介绍
步骤1:首先登录spring官网Spring | Home选择projects->springframework进入下图所示页面,点击图中右上角的猫的图标进入spring的github下载页面
步骤2:下载对应版本的spring源码包,以5.3.12为例
进入Release v5.2.13.RELEASE · spring-projects/spring-framework (github.com)
点击上图中最下方的Sorce Code(Zip)包进行源码下载
步骤3:选择对应版本的gradle,下载gradle
首先查看gradle版本:查看文件位于:如spring-framework-5.2.13.RELEASE\gradle\wrapper\gradle-wrapper.properties,打开gradle-wrapper.properties文件,
其distributionUrl行记录有gradle的版本号,到gradle官网进行对应下载,并配置环境变量(此处略,不清粗可以百度)
步骤4:修改gradle-wrapper.properties文件中distributionUrl为本地下载的gradle路径,如
distributionUrl=file:///d:/software/gradle-5.6.4-bin.zip
步骤5: 修改spring-framework-5.2.13.RELEASE目录下的build.gradle和setting.gradle文件
1:build.gradle文件修改
找到build.gradle,找到如下位置进行对应修改,(因为编译过程中需要下载对应的依赖包,用国内的仓库下载速度相对比较快)
(阿里云仓库概览网址为:https://developer.aliyun.com/mvn/guide)
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.13.RELEASE目录下的import-into-idea.md文件,参考文件中的说明进行编译
执行 gradlew :spring-oxm:compileTestJava
注意:此处如为windows系统,需要到gradlew.bat文件存放位目录进行cmd,进行执行
步骤7:执行成功后,打开ideal,在已有任意idea项目下进行gradle配置,
其中 Gradle user home为gradle的本地仓库
上图下方的Use Gradle from 配置本地的gradle路径
步骤7: 将spring源码包导入ideal进行编译
如上图所示,选中源码包中的build.gradle文件,ideal进行自动编译
步骤8:成功后,手动编译spring-core模块
在ideal右边,选中gradle,手动执行spring-core模块的other-》compileTestJava进行编译(任意模块都可以按spring-core模块的编译方法进行编译)
编译完成后,能看到每个模块下有一个build文件夹,下面的lib文件夹存放了编译后形成的对应jar包