Spring5源码编译

Spring5源码编译

    • 写在前面
    • 工具版本
    • gradle下载
      • 1.配置gradle环境变量:
      • 2.配置gradle的本地仓库
      • 3.配置完成查看版本
    • Spring5源码下载
    • 使用idea构建Spring5源码
      • 1.解压后的Spring工程有几个文件值得注意。
      • 2.将源码解压到idea的工作空间以后,导入到idea中进行构建,等待build完成。
      • 3.构建完成之后,便可开始编译,编译很简单,直接在moudle中run all tests即可。
      • 4.使用刚刚编译的spring源码构建spring项目,在工程目录下,新建moudle,引入对应的依赖即可。

写在前面

相信很多人都编译过spring的源码,我这边也把我的编译过程以及踩过的坑分享一下。

工具版本

IntelliJ IDEA 2018,spring5.0.x,gradle4.9,jdk1.8_131

gradle下载

gradle是一款基于Groovy的构建工具,和maven类似,不过比maven更简洁;
gradle可以去官网下载,地址:https://services.gradle.org/distributions/,我这里使用的是gradle4.9。gradle下载时候有三个包,gradle-src为gralde源码,gradle-bin为安装包,gradle-all为源码加安装包,我们这里只需下载安装文件即可。
Spring5源码编译_第1张图片

1.配置gradle环境变量:

gradle下载后不需要安装,解压再本地磁盘后配置环境变量即可。
新建GRADLE_HOME,path中增加%GRADLE_HOME%/bin; 即可。
Spring5源码编译_第2张图片
Spring5源码编译_第3张图片

2.配置gradle的本地仓库

gradle和maven一样,工作时也需要一个本地仓库,管理工程jar包,可做如下配置,新增GRADLE_USER_HOME,路径配置成需要的本地仓库路径即可。
Spring5源码编译_第4张图片

3.配置完成查看版本

配置完成以后进入dos界面,键入命令gradle -v,若如下图正确输出版本信息即可
Spring5源码编译_第5张图片

Spring5源码下载

我们可以从github上去下载spring5源码,进入github官网,直接搜索spring,找到官方版本,点击官方版本进去以后记得点击Branch切换分支到5.0;图个方便的童鞋也可以直接点击后面这个地址:https://github.com/spring-projects/spring-framework/tree/5.0.x
下载zip到本地磁盘。
Spring5源码编译_第6张图片

使用idea构建Spring5源码

编译Spring5源码有很多方式,可以直接通过gradle命令编译,也可以用代码编辑工具编译,如idea或者eclipse等。这里使用idea编译。

1.解压后的Spring工程有几个文件值得注意。

Spring5源码编译_第7张图片
用文本编辑器打开import-into-idea.md文件
Spring5源码编译_第8张图片
注意几点:

1)因为其他项目需要依赖spring-core和spring-oxm,所以我们导入后需要先编译这两个包;
2)spring-aspects需要依赖三方jar,精通aop的应该知道spring-aop和aspectj的关系,在使用注解方式实现spring-aop的时候,需要导入aspectj的jar,这里编译可能会报错,不影响编译使用,先不处理;
3)使用工具编译时,可能会出现内存溢出情况,这里我们编译时需要增加相关参数;
-XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m
Spring5源码编译_第9张图片

2.将源码解压到idea的工作空间以后,导入到idea中进行构建,等待build完成。

如果出现如下错误,点击open file,将框中内容注释即可。编译全程需要下载gradle仓库jar包,需要时间比较长,大概一到两小时,耐心等待。
Spring5源码编译_第10张图片

3.构建完成之后,便可开始编译,编译很简单,直接在moudle中run all tests即可。

Spring5源码编译_第11张图片
如果出现依赖报错,如下执行命令,即可下载相应jar包
Spring5源码编译_第12张图片
完成之后,如此依次编译spring-oxm,spring-context,spring-bean即可。

4.使用刚刚编译的spring源码构建spring项目,在工程目录下,新建moudle,引入对应的依赖即可。

Spring5源码编译_第13张图片
Spring5源码编译_第14张图片
Spring5源码编译_第15张图片
正确输出,至此,spring5.0.x项目构建编译完成。

你可能感兴趣的:(Spring5源码编译)