gradle 编译源码-使用idea和gradle编译spring5源码

上面写:

本文主要根据视频教程《Spring基础源码分析》整理的相关文档。

视频地址:

所有内容均由鲁班学院VIP学员撰写。 由于教程视频中也提到了这篇文章,所以UP主把它带到这里,希望对大家有所帮助。

版本工具:spring5.0.x、gradle4,9、jdk1.8_131、kotlin1.2.51、groovy2.4.15、IntelliJ IDEA 2018-2

详细步骤和坑如下:

1.下载gradle,可以去官网下载,gradle版本需要4.2以上,小编这里选择gradle4.9版本。

Gradle下载地址:

下载gradle时有三个包,gradle-src是gralde的源码,gradle-bin是安装包,gradle-all是源码加安装包。 我们只需要在这里下载安装文件即可。

2.配置gradle

下载完gradle后,无需安装,解压后配置本地c盘后的环境变量即可

1)、配置gradle环境变量

新建GRADLE_HOME,减少路径中的%GRADLE_HOME%/bin;

配置完成后,win+r,输入cmd进入dos界面,输入命令gradle -v,如果正确输出版本信息如下图

2)配置gradle的默认本地仓库。 Gradle 与 Maven 类似。 它还需要一个本地仓库来工作。 要管理项目jar包,可以进行如下配置,添加GRADLE_USER_HOME,并将路径配置为所需的本地仓库路径。

3、下载spring5源码(这里我们可以直接从全球最大的同性交友平台github上下载),进入github官网,直接搜索spring

这里可能有很多同志上传的spring源码,这里直接找官方版本

进去后,你会听到大师版本。 我们还包含许多 Spring 的历史分支版本。 这里我们直接选择5.0.x版本

我们可以直接下载zip到本地c盘

源码下载地址:

4.谈谈spring5源码导出重构的思路

spring5源码的编译形式有很多种,可以直接通过gradle命令进行编译,但是这些编译方式都比较麻烦,而且出现错误也不容易排查。 稍后可以专门写一篇文章来介绍使用gradle命令编译spring源码。

这里我们选择直接通过代码编辑工具编译spring5源码。 可以使用eclipse或者idea等,这里我个人推荐使用idea来编译。

1)将源代码导出到idea中。 我不会详细介绍如何将想法导出到项目中。 没用过idea的可以补一下idea使用指南:文件-打开并选择对应的项目(先将源码解压到idea工作区)

2)、导入前注意项目下的这些文件,这是导出eclipse和idea之前需要注意的地方

让我们打开 import-into-idea.md 文件

注意几点:

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)、以上工作完成后,我们就可以开始导出、编辑、编译配置了,如下图(需要注意的地方已在图中标注)

注意-注意-注意:小编之前猜测的坑,jdk版本不要太高。 之前我用jdk1.8_20和jdk1.8_191编译,都会出现版本问题。 我后来用的是jdk1.8_131版本。 可以成功

4)、编译过程中会出现一些错误,常见的有如下

a)、jdk版本错误(前面说过,替换成对应版本即可)

b)、出现如下错误,点击打开文件,将框中内容注释掉

完成上述操作后,只需等待构建完成即可。 全名需要下载gradle仓库jar包。 这需要很长时间。 竞争机器性能和网络速度的时候到了。 兄弟们,加油。

5、工程构建完成后,就可以开始编译了。 编译很简单,在moudle中运行测试即可

如果存在依赖错误,执行以下命令下载对应的jar包

以下执行完成后gradle 编译源码,编译moudle,然后依次编译spring-oxm、spring-context、spring-bean

6、使用刚才编译的spring源码,构建一个spring项目。 在项目目录下,新建一个moudle,并引入相应的依赖。

项目已正确构建并输出。 至此,spring5.0.x项目已经搭建并编译完毕。 你完成了!

希望对您有帮助gradle 编译源码,也希望您多多关注+点赞支持!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 gradle 编译源码-使用idea和gradle编译spring5源码 https://www.wkzy.net/game/140271.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务