欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用idea和gradle编译spring5源码

程序员文章站 2022-07-12 12:30:04
...

spring对Java开发小伙伴没有陌生的,基本大家都在用,但是针对源码进行了解的可能就不再多说了,我们一般是使用的jar包的形式进行引用spring,作为一个多年的开发经验的我们,不了解spring底层是怎么写的有点可惜,底层优雅的代码值得我们慢慢品味!好了现在我们先把spring的源码搭建到我们本地,进行编译,调试spring项目:
spring项目使用的不是maven管理,而是gradle所以今天我也准备gradle进行构建,需要声明maven也是完全可以的!

gradle安装配置

  1. 下载gradle
    下载地址
    https://services.gradle.org/distributions/
    使用idea和gradle编译spring5源码
    下载安装文件,如果想深入学习可以下载源码,和说明文档等进行深入学习,目前我们只需要了解,如果不了解的就按照maven理解即可
    下载后解压即可以不需要安装

  2. 配置环境变量
    使用idea和gradle编译spring5源码
    新建: GRADLE_HOME 变量值为解压安装文件目录
    path中添加:%GRADLE_HOME%/bin;

是否安装成功检测:
使用idea和gradle编译spring5源码
这个版本需要jdk8我本地使用的是jdk7
升级jdk到8后看到的成功安装gradle

使用idea和gradle编译spring5源码
配置gradle默认的本地仓库,gradle和maven类似,工作时也需要一个本地仓库,管理工程jar包,可做如下配置,新增GRADLE_USER_HOME,路径配置成需要的本地仓库路径即可
使用idea和gradle编译spring5源码

spring源码下载

从github上直接搜索spring-framework 即可
使用idea和gradle编译spring5源码
选择自己需要的版本下载到本地

spring5源码导入idea进行构建

1)将源码导入idea,idea怎么导入工程就不一一细说了,没使用过idea的大兄弟,可以恶补一下idea使用手册:file-open选到对应项目即可(先将源码解压到idea工作空间中去)

2),导入前先注意下工程下的这几个文件,为导入eclipse和idea前需要注意的地方

注意几点:

 a,因为其他项目需要依赖spring-core和spring-oxm,所以我们导入后需要先编译这两个包

 b,spring-aspects需要依赖三方jar(精通aop的应该知道spring-aop和aspectj的关系,在使用注解方式实现spring-aop的时候,需要导入aspectj的jar,有兴趣的可以去查阅下官方文档aop相关文档),这里编译可能会报错,不影响我们编译使用,我们先不处理

c,使用工具编译时,可能会出现内存溢出情况,这里我们编译时需要增加相关参数

     -XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m

3),以上工作完成之后,我们可以开始导入编辑编译配置了,如下图(需要注意的地方已在图中标注)

使用idea和gradle编译spring5源码
4),编译过程中会出现一些错误,常见如下

a),jdk版本错误(如前所说,换成对应版本即可)
使用idea和gradle编译spring5源码
b),出现如下错误,点击open file,将框中内容注释即可

使用idea和gradle编译spring5源码
说明这一步我没有遇到任何问题 唯一的就是等了好久,借用网络上的,侵权系删

新建modeul进行测试

使用idea和gradle编译spring5源码
比较顺利 没有遇到任何问题!大家遇到什么问题再一起探讨吧!一起学习

如上做完后,等着build完了即可,全称需要下载gradle仓库jar包,需要时间比较长,拼机器性能和网速的时候到了,兄弟们加油。