Spring5源码编译

写在前面

相信很多人都编译过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为源码加安装包,我们这里只需下载安装文件即可。
在这里插入图片描述

1.配置gradle环境变量:

gradle下载后不需要安装,解压再本地磁盘后配置环境变量即可。
新建GRADLE_HOME,path中增加%GRADLE_HOME%/bin; 即可。
在这里插入图片描述
在这里插入图片描述

2.配置gradle的本地仓库

gradle和maven一样,工作时也需要一个本地仓库,管理工程jar包,可做如下配置,新增GRADLE_USER_HOME,路径配置成需要的本地仓库路径即可。
在这里插入图片描述

3.配置完成查看版本

配置完成以后进入dos界面,键入命令gradle -v,若如下图正确输出版本信息即可
在这里插入图片描述

Spring5源码下载

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

使用idea构建Spring5源码

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

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

在这里插入图片描述
用文本编辑器打开import-into-idea.md文件
在这里插入图片描述
注意几点:

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
在这里插入图片描述

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

如果出现如下错误,点击open file,将框中内容注释即可。编译全程需要下载gradle仓库jar包,需要时间比较长,大概一到两小时,耐心等待。
在这里插入图片描述

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

在这里插入图片描述
如果出现依赖报错,如下执行命令,即可下载相应jar包
在这里插入图片描述
完成之后,如此依次编译spring-oxm,spring-context,spring-bean即可。

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
正确输出,至此,spring5.0.x项目构建编译完成。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值