Spring5 源码下载注意事项

首先你的 JDK 需要升级到 1.8 以上。Spring3.0 开始,Spring 源码采用 github 托管,不再提供官网下载 链接。这里不做过多赘述,大家可自行去 github 网站下载,我们使用的版本下载链接为: https://github.com/spring-projects/spring-framework/archive/v5.0.2.RELEASE.zip,下载完成后,

【github上下载的是全英文注释的,如果想要独家中文注释的Spring5源码可以找我】

解压源码包会看到以下文件目录:

基于 Gradle 的源码构建技巧

由于 Spirng5 以后都是采用 Gradle 来编译,所以构建源码前需要先安装 Gradle 环境。Gradle 下载地 址:https://gradle.org/releases,我使用的是 Spring5 官方推荐的版本 Gradle4.0,下载链接为: https://gradle.org/next-steps/?version=4.0&format=bin , 下 载 完 成 后 按 以 下 步 骤 操 作 , 以Windows 操作系统为例:

第一步:配置环境变量

第二步:添加环境变量:Path:%GRADLE_HOME%bin

第三步:检测环境,输入 gradle -v 命令,得到以下结果:

第四步:编译源码,cmd 切到 spring-framework-5.0.2.RELEASE 目录,运行 gradlew.bat

第五步:转换为 eclipse 项目,执行 import-into-eclipse.bat 命令,构建前,请确保网络状态良好,按任意键继续。

第六步:等待构建成功(若中途出现错误,大部分情况是由于网络中断造成的,重试之后一般都能解决问题),构建成功后,会出现如下界面:

到这一步为止,还在使用 Eclipse 的小伙伴已经可以将项目导入到 Eclipse 中了。

而我们推荐使用的 IDEA也比较智能,可以直接兼容 Eclipse 项目。接下来看下面的步骤:

第七步:导入 IDEA。打开 IntelliJ IDEA,点击 Import Project,弹出如下界面,选择

spring-framework-5.0.2.RELEASE 文件夹:

第八步:等待构建完成,在网络良好的情况下大约需要 10 分钟便可自动构建完成,你会看到如下界面:

第九步:在 IDEA 中,如果 Project 下的子项目文件夹变成粗体字之后,说明已经构建成功。

还有一种验证方式是:找到 ApplicationContext 类,按 Ctrl + Shift + Alt + U,出现类图界面说明构建成功。

“spring-framework-5.0.2.RELEASE-中文注释版”,下载后导入到 IDEA 中 开箱即用无需重复构建。

Gradle 构建过程中的坑

如果项目环境一直无法构建,项目文件夹没有变粗体字,类图无法自动生成。那么你一定是踩到了这样一个坑。

第一步:首先打开 View->Tool Windows -> Gradle

然后,点击右侧 Gradle 视图中的 Refresh,会出现如下的错误:

第二步:看错误,显然跟 Gradle 没有任何关系,解决办法:

1.关闭 IDEA,打开任务管理器,结束跟 java 有关的所有进程。

2.找到 JAVA_HOME -> jre -> lib 目录,将 tools.jar 重命名 tools.jar.bak。

3.重启 IDEA,再次点击 refresh,等待构建完成。

idea 编译spring_《Spring源码解析(二)》构建 Spring5 源码工程,开启研读Spring源码之路...相关推荐

  1. 8145v5 参数_SpringBoot外化配置源码解析:外化配置简介、参数处理|value|spring|调用|参数值

    SpringBoot外化配置源码解析 在前面章节我们讲解了 Spring Boot 的运作核心原理及启动过程中进行的一系列核心操作. 从本章开始,我们将针对在实践过程中应用的不同知识点的源代码进行解读 ...

  2. 【深度学习模型】智云视图中文车牌识别源码解析(二)

    [深度学习模型]智云视图中文车牌识别源码解析(二) 感受 HyperLPR可以识别多种中文车牌包括白牌,新能源车牌,使馆车牌,教练车牌,武警车牌等. 代码不可谓不混乱(别忘了这是职业公司的准产品级代码 ...

  3. 《深入理解 Spring Cloud 与微服务构建》第十三章 配置中心 Spring Cloud Config

    <深入理解 Spring Cloud 与微服务构建>第十三章 配置中心 Spring Cloud Config 文章目录 <深入理解 Spring Cloud 与微服务构建>第 ...

  4. Kubernetes学习笔记之Calico CNI Plugin源码解析(二)

    女主宣言 今天小编继续为大家分享Kubernetes Calico CNI Plugin学习笔记,希望能对大家有所帮助. PS:丰富的一线技术.多元化的表现形式,尽在"360云计算" ...

  5. erlang下lists模块sort(排序)方法源码解析(二)

    上接erlang下lists模块sort(排序)方法源码解析(一),到目前为止,list列表已经被分割成N个列表,而且每个列表的元素是有序的(从大到小) 下面我们重点来看看mergel和rmergel ...

  6. Mobx 源码解析 二(autorun)

    前言 我们在Mobx 源码解析 一(observable)已经知道了observable 做的事情了, 但是我们的还是没有讲解明白在我们的Demo中,我们在Button 的Click 事件中只是对ba ...

  7. android网络框架retrofit源码解析二

    注:源码解析文章参考了该博客:http://www.2cto.com/kf/201405/305248.html 前一篇文章讲解了retrofit的annotation,既然定义了,那么就应该有解析的 ...

  8. Thrift源码解析(二)序列化协议

    概述 对于一个RPC框架,定义好网络数据的序列化协议是最基本的工作,thrift的序列化协议主要包含如下几种: TBinaryProtocol TCompactProtocol TJSONProtoc ...

  9. Jedis源码解析(一):Jedis简介、Jedis模块源码解析

    一.Jedis简介 1.Jedis对应Redis的四种工作模式 对应关系如下: Jedis主要模块 Redis工作模式 Jedis Redis Standalone(单节点模式) JedisClust ...

  10. Apache IoTDB源码解析(0.11.2版本):Session的源码解析

    1. 声明 当前内容主要为解析Apache IoTDB 0.11.2版本的Session的源码解析 通过前面的Apache Thrift的Demo,可以发现iotdb中的server是使用了thrif ...

最新文章

  1. Linux之编辑器 vim
  2. 为何我通过 Calendar1.SelectedDate.DayOfWeek.ToString() 获取的“星期”总是英文的???...
  3. junit4进行单元测试
  4. 今日头条面试题:生成随机数(根据rand5()生成rand7())
  5. 使用 ADSync 集成 IBM Lotus Domino Directory 和 Microsoft Active Directory
  6. 智乃的01串打乱(思维+暴力)
  7. 第三十一天 MySQL并发控制、存储引擎介绍、用户权限管理、缓存管理和数据类型选择...
  8. SQL盲注中的部分常用函数
  9. 生意宝,淘宝,唯品会,58同城,去哪儿背后的赚钱生意经(转)
  10. 如何在windows电脑网页上创建苹果ID?
  11. 域格4G模块专网设置说明
  12. 【每日新闻】国内首款3D AI/MR芯片即将量产
  13. 在Excel中如何制作K线
  14. 2016年11月整理的最新php免杀一句话木马, 2017php免杀一句话(php过狗一句话,过狗菜刀,2016过狗一句话,2016php免杀一句话,php过waf一句话)
  15. Microsoft Store无法显示错误,真正解决!
  16. C# .NET实现手机接收短信
  17. 使用计算机报点系统时填记,铁路 车务 运转系统 自动闭塞《接发列车作业标准》...
  18. C51单片机各引脚功能
  19. 【软考网络管理员】2023年软考网管初级常见知识考点(2)- 数据通信技术
  20. CSS 的 rgb() 和 rgba() 函数(设置颜色的方式之一)

热门文章

  1. 【kafka】kafka 查看 GroupCoordinator
  2. 【Flink】Flink 报错 ResourceManager leader changed to new address null
  3. 【Elasticsearch】 es 7.6 索引墓碑
  4. 【Elasticsearch】 elasticsearch之Recovery
  5. 【Flink】Flink 多并行度下的 watermark触发机制
  6. [Maven] Project build error: 'packaging' with value 'jar' is invalid. Aggregator projects require
  7. 【kafka】记一次线上kafka一直rebalance故障 消费慢 数据积压
  8. 【安全】This base cannot be created with PLA.
  9. scala学习-scala读取Hbase表中数据并且做join连接查询
  10. hadoop单节点配置并且统计单词