1,前言
之前写了一篇Spring 3.2.x源码环境的搭建的笔记
发现3.2.x版本的Spring源码过于久远,导致在导入代码之后会有很多错误需要手工处理
甚至连当时依赖的jar版本都需要重新修改才能build成功
搭建源码环境的初衷是为了学习源码,Spring源码核心主要是AOP和IOC
而这两部分在版本迭代中基本稳定,所以版本的升级对于我们学习框架本身并没有影响
所以,这次我们选择用Spring 4.x版本的源码来搭建一个Spring环境
2,下载源码
这部分不在赘述了,到GitHub上直接下载对应版本的Spring源代码就可以了:
https://github.com/spring-projects/spring-framework/releases
3,构建工程
1,下载源码后,查看根目录下README.md文件
2,执行 ./import-into-eclipse.sh (需要JDK8),
这里面提到了STS-一个基于eclipse的Spring IDE工具:
- Eclipse downloads: http://download.eclipse.org/eclipse/downloads
- STS downloads: http://spring.io/tools/sts/all
- STS nightly builds: http://dist.springsource.com/snapshot/STS/nightly-distributions.html
耐心等待一段时间,执行步骤1,约15分钟
步骤1成功,继续步骤2:
步骤2,3,4,5一样,直接下一步就好
执行./gradlew install(约13分钟)
执行./gradlew build(约10分钟)
四,下载并安装STS(spring-tool-suite)
Spring提供了一个基于eclipse的Spring IDE,简称STS
这个工具在学习Spring的时候将带来很多便利
下载并安装STS:
https://spring.io/tools/sts/all
下载完成后安装并启动STS:
五,导入工程
导入spring源码工程
此时项目会有报错,因为Spring构建需要groovy
六,安装groovy
安装groovy:http://groovy-lang.org/download.html
brew安装:
Brave:~ Brave$ brew install groovy
查看版本号:
Brave:~ Brave$ groovy -v
Groovy Version: 2.4.12 JVM: 1.8.0_51 Vendor: Oracle Corporation OS: Mac OS X
此时eclipse下的Spring项目依然报错,原因是eclipse需要安装对应版本的groovy插件
注意:groovy插件要和eclipse版本匹配,否则无效
七,安装eclipse-groovy插件
安装插件:
eclipse的 Help -> Install New Software 中,下载groovy插件
STS版本3.9.2 基于eclipse4.7.2版本,需下载对应版本的groovy插件(4.7版本)
- Spring Tool Suite:https://spring.io/tools/sts/all
- Groovy/Grails Tool Suite:https://spring.io/tools/ggts/all
4.7版本Groovy插件地址:
http://dist.springsource.org/release/GRECLIPSE/e4.7/
一般来讲,安装groovy插件后重启eclipse->clean项目后问题解决
但有时候还会继续报错,这可能是由于groovy版本导致的编译问题
八,Groovy编译版本问题
Groovy的编译版本问题,会有下面的报错:
修改eclipse配置中groovy compiler版本:
转换后要求重启eclipse,重启后问题解决
九,Spring4.3.6 源码编译完成
编译完成截图如下: