使用idea和gradle编译spring5源码
spring对Java开发小伙伴没有陌生的,基本大家都在用,但是针对源码进行了解的可能就不再多说了,我们一般是使用的jar包的形式进行引用spring,作为一个多年的开发经验的我们,不了解spring底层是怎么写的有点可惜,底层优雅的代码值得我们慢慢品味!好了现在我们先把spring的源码搭建到我们本地,进行编译,调试spring项目:
spring项目使用的不是maven管理,而是gradle所以今天我也准备gradle进行构建,需要声明maven也是完全可以的!
gradle安装配置
-
下载gradle
下载地址
https://services.gradle.org/distributions/
下载安装文件,如果想深入学习可以下载源码,和说明文档等进行深入学习,目前我们只需要了解,如果不了解的就按照maven理解即可
下载后解压即可以不需要安装 -
配置环境变量
新建: GRADLE_HOME 变量值为解压安装文件目录
path中添加:%GRADLE_HOME%/bin;
是否安装成功检测:
这个版本需要jdk8我本地使用的是jdk7
升级jdk到8后看到的成功安装gradle
配置gradle默认的本地仓库,gradle和maven类似,工作时也需要一个本地仓库,管理工程jar包,可做如下配置,新增GRADLE_USER_HOME,路径配置成需要的本地仓库路径即可
spring源码下载
从github上直接搜索spring-framework 即可
选择自己需要的版本下载到本地
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),以上工作完成之后,我们可以开始导入编辑编译配置了,如下图(需要注意的地方已在图中标注)
4),编译过程中会出现一些错误,常见如下
a),jdk版本错误(如前所说,换成对应版本即可)
b),出现如下错误,点击open file,将框中内容注释即可
说明这一步我没有遇到任何问题 唯一的就是等了好久,借用网络上的,侵权系删
新建modeul进行测试
比较顺利 没有遇到任何问题!大家遇到什么问题再一起探讨吧!一起学习
如上做完后,等着build完了即可,全称需要下载gradle仓库jar包,需要时间比较长,拼机器性能和网速的时候到了,兄弟们加油。
推荐阅读
-
使用idea和gradle编译spring5源码
-
Idea 2018.3 编译spring5源码
-
超简单spring5源码编译(IDEA)
-
idea和gradle编译源码
-
Spring5源码 - 08 BeanFactory和FactoryBean 源码解析 & 使用场景
-
史上最全的idea编译Spring5源码
-
gradle编译spring源码并引入idea
-
CentOS 5.6下使用cmake编译MySQL 5.5.13源码和安装笔录
-
Java开源企业信息化平台O2OA服务器源码如何编译和使用?[Windows环境]
-
Java开源企业信息化平台O2OA服务器源码如何编译和使用?[Windows环境]