2021-05-27 23:42  阅读(345)
文章分类:Spring 源码解析 文章标签:SpringSpring 源码
©  原文作者:Java学习部落 原文地址:https://www.zhihu.com/people/tobetopjavaer/posts

Spring5 源码下载注意事项

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

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

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

202105272342056361.png

基于 Gradle 的源码构建技巧

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

第一步:配置环境变量

![202105272342061533.png][]

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

![202105272342063635.png][]

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

![202105272342065437.png][]

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

![202105272342066669.png][]

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

![2021052723420680111.png][]

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

![2021052723420720213.png][]

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

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

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

spring-framework-5.0.2.RELEASE 文件夹:

![2021052723420739815.png][]![2021052723420758917.png][]![2021052723420773719.png][]

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

![2021052723420795621.png][]

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

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

![2021052723420810223.png][]

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

Gradle 构建过程中的坑

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

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

![2021052723420834125.png][]

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

![2021052723420856727.png][]![2021052723420873629.png][]

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

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

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

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

![2021052723420899731.png][]

[Image 1]: [https_gradle.org_releases]: https://link.zhihu.com/?target=https%3A//gradle.org/releases [https_gradle.org_next-steps_version_4.0_format_bin]: https://link.zhihu.com/?target=https%3A//gradle.org/next-steps/%3Fversion%3D4.0%26format%3Dbin [202105272342061533.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/202105272342061533.png [202105272342063635.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/202105272342063635.png [202105272342065437.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/202105272342065437.png [202105272342066669.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/202105272342066669.png [2021052723420680111.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420680111.png [2021052723420720213.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420720213.png [2021052723420739815.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420739815.png [2021052723420758917.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420758917.png [2021052723420773719.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420773719.png [2021052723420795621.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420795621.png [2021052723420810223.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420810223.png [2021052723420834125.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420834125.png [2021052723420856727.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420856727.png [2021052723420873629.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420873629.png [2021052723420899731.png]: https://www.cmsblogs.com/images/group/java-advance/spring-yuanma/2021052723420899731.png

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> 《Spring源码解析(二)》构建 Spring5 源码工程,开启研读Spring源码之路
上一篇
《Spring源码解析(一)》Spring框架的前世今生以及对Spring的宏观认识
下一篇
《Spring源码解析(三)》从源码深处体验Spring核心技术--IOC容器初体验