一、从 github上下载Spring源码到本机
二、利用 Gradle 编译 Spring 源码
环境:
- Spring源码版本:spring-framework-4.3.x
- Gradle版本:gradle-4.3
- Java版本:jdk1.8.0_65
- Win 7
重点:Jdk版本很重要,一定要jdk1.8,这个是我亲自测试过的,其他版本的jdk,执行gradle会报jdk版本的异常
安装Gradle
1、下载 Gradle
2、解压下载的文件 gradle-4.3-all.zip
3、配置环境变量
用Gradle 编译Spring源码
1、进入spring-framework-4.3.x后,在目录下找到gradlew.bat
2、双击gradlew.bat,等待片刻,命令执行完毕(最好开着翻墙软件,防止下载超时而失败)
3、在目录下找到找到 import-into-eclipse.bat
4、双击import-into-eclipse.bat
一切正常的话,开始编译项目。因为spring项目是由很多模块组成的,比如core、aop、beans等。如果非必要的话,建议一个个项目进行编译。比如我先编译spring-beans模块
首先进入spring-beans项目路径中, 执行gradle命令:gradle cleanIdea eclipse。等待几分钟后,如果顺利的话,会打印出 BUILD SUCCESSFUL
然后你就可以把源码导入到你的Eclipse中了
三、问题:
在执行 gradle cleanIdea eclipse 的时候出现了一个异常 java.lang.NoClassDefFoundError: org/gradle/listener/ActionBroadcast
怎么解决的呢?打开源码目录下的 build.gradle 文件, 原来version 是 1.1 改成 2.5 就好了
参考:
【1】博客,https://blog.csdn.net/xiongyouqiang/article/details/78388834
【2】个人博客,https://donaldhan.github.io/springframework/2017/12/13/%E5%A6%82%E4%BD%95%E4%BB%8Egithub%E4%B8%8A%E6%8B%89%E5%8F%96Spring-framwork%E6%BA%90%E7%A0%81%E9%A1%B9%E7%9B%AE-%E5%B9%B6%E5%AF%BC%E5%85%A5%E5%88%B0eclipse.html