Spring源码编译

image-20200504153803863

Spring源码编译

Spring源码编译及导入IDEA

前几天同事分享了下Spring源码编译,自己之前也下载了spring源码一直没编译过,正好借此机会自己编译下,本文记录了编译过程,和大家分享。

1.编译之前准备

网上也找了一些文章,有的用命令行直接编译的,有的是直接导入idea编译的。这里我采用的是第一个。

相关依赖说明如下:

1
2
3
Java:1.8.0_77
Gradle:5.6.4(Spring会自动下载,不用预先配置)
Spring分支:5.2.x

1.1源码下载

Spring源码下载:https://github.com/spring-projects/spring-framework

这里有一点需要说明的是5.2.x版本编译不需要在下载Gradle了,编译的时候Spring会直接下载Gradle

源码git clone下来之后,将分支由master切换为5.2.x

1.2修改仓库地址

由于spring使用的是maven中央仓库,但中央仓库在国内网络不太稳定,这里配置仓库地址使用阿里云的,修改Spring目录下的build.gradle文件,找到如下位置

1
2
3
4
repositories {
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}

增加如下仓库镜像,最后修改结果如下:

1
2
3
4
5
6
repositories {
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public" }
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}

1.3修改Gradle仓库地址信息

  • 避免下载的依赖包都放在C盘,占用C盘空间,所以需要修改Gradle仓库位置,将仓库位置和maven本地仓库配置一样即可
  • 新增环境变量GRADLE_USER_HOME值为D:\maven_repository

2开始编译

1
2
cd spring源码目录
gradlew.bat build

等待编译完成吧,成功截图如下

成功截图

不编译成功的原因基本上就是网络的原因,所以一定要配置好国内的镜像哦

3导入IDEA

我使用的是IDEA社区版,导入方法如下

  1. 进入到Spring工作目录

  2. 使用命令gradlew.bat :spring-oxm:compileTestJava提前预编译好spring-oxm

  3. 打开idea依次选择(File -> New -> Project from Existing Sources)选择spring源码根目录下的build.gradle

    image-20200504152639801

    image-20200504152943927

  4. 最后等待编译成功吧

    image-20200504153613707

- The End -

本文标题:Spring源码编译

文章作者:william

发布时间:2020年05月04日 - 12:05

最后更新:2022年02月03日 - 20:02

原始链接:http://wiliam.me/2020/05/04/springSourceBuild.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

欣赏此文?求鼓励,求支持!