版本管理工具:
SourceTree
个人觉得SourceTree比GitHubDesktop好用,集成了gitHubDesktop的所有功能,而且还可以方便的查看Tag标签,也集成了git指令模式,我就安利一下了。
下载地址:https://www.sourcetreeapp.com/
源码地址:
https://github.com/spring-projects/spring-framework
早期是挂在SVN上,现在托管在GitHub。
源码构建工具:Gradle-4.8
现在已经是基于Gradle构建项目,取代了原来的Ant+Ivy系统。
安装完毕Gradle后需要配置环境变量,通过cmd敲击指令 gradle -version 检验是否安装成功。
IDE工具:eclipse-4.7.3
目前是最新的,新增集成了jdk9和10,不过我用的是jdk1.8。该版本的eclipse需要至少JDK1.8才可以运行。
下载Spring源码:
导入eclipse:
可能用到的指令或url:
gradle cleanidea eclipse:将源码编译生成eclipse可以直接运行的工程。
gradle cglibRepackJar:编译生成spring项目缺失的spring-cglib-repack.jar包。
gradle objenesisRepackJar:编译生成spring项目缺失的spring-objenesis-repack.jar包。
http://dist.springsource.org/snapshot/GRECLIPSE/e4.7 :解决groovy相关java错误的问题。
由于Spring源码无法直接导入eclipse中,需要先编译,这里通过Gradle工具编译。首先通过cmd进入Spring源码目录中
然后通过指令gradle cleanidea eclipse分别编译各个Spring的子项目,不推荐直接在Spring-framework目录下编译,这样速度很慢,好处是不用一个个敲指令。 然后就可以导入eclipse中,不过不是所有项目都需要导入,只导入核心几个项目,保证项目无缺失关联项目的错误即可。接下来处理几个后续常见的错误。
常见错误:
1.缺少jar包:
在导入完所有Spring项目后,会发现还是有错误,比如缺少spring-cglib-repack和spring-objenesis-repack这两个jar包。
解决办法:
进入Spring-Framework源码的目录中,输入指令gradle cglibRepackJar和gradle objenesisRepackJar这两个指令自动生成缺失的两类jar包。然后在eclipse中clean下项目即可。这时候应该还有个错误,莫慌。
2.GroovyBeanDefinitionReader.java报错。
这是由于eclipse缺少groovy相关插件导致,只要安装相关插件即可。
解决办法:
打开Help-->Install New Software,
输入网址:http://dist.springsource.org/snapshot/GRECLIPSE/e4.7,注意最后的e4.7与eclipse的版本相对应,我的eclipse版本是4.7.3,所以选择e4.7版本。三个选项都勾选,并取消勾选下面的Contact all updates...,防止下载速度过慢导致超时错误,然后就是下一步再下一步了。
重新clean项目后,可能会继续报错,groovy 编译版本不对的错误。这时候右击项目Build path-->Configure Build Path..-->Groovy Compiler修改版本。
3.最新的源码master分支上,可能存在部分代码用jdk10编译,所以需要更换jvm,这个要么等GitHub的大佬更新代码,要么只能换成最新版本的jdk,要么将错误的代码注释了。