编译spring framework源码,网上已经不少了,本身亲手操做一下,记录一把。
整体来说,按照spring framework在github上写的操做步骤一步一步来就没事的,网上不少人针对不一样版本本身增长了一些步骤,有不少实际上是没必要要的。
**第一步:装jvm**
jvm基本不用说
**第二步:下载源码**
到https://github.com/spring-projects/spring-framework 上复制路径,用git bash,输入 git clone https://github.com/spring-projects/spring-framework.git 克隆到本地仓库,而后切换到分支5.0.x或者4.3.x便可。放入英文目录下。
**第三步:下载并安装gradle**
gradle那么多版本,安装哪个呢?其实高一点倒无所谓,若是担忧会出问题的话,那么打开spring framework目录下的build.gradle文件,搜索gradleVersion这个关键字,就会看到一个版本号。这个版本号就是import-into-idea.md里写的执行gradlew :spring-oxm:compileTestJava 命令的时候会自动下载的那个版本。这个基本是靠谱的版本。5.0.x对应的是4.4.1版本,4.3.x分支对应的是2.14.1版本。下载要下载gradle-xxxx-bin.zip,不能下载all,否则懵逼死,我这里all包无论用。
**第四步:执行gradlew :spring-oxm:compileTestJava 命令**
在这一步实际上是有坑的。有些人死活执行错误,例如报错 PKIX path building failed:.......:unable to find valid certification path to requested target这种,这种实际上是jdk/jre/lib/security下的cacerts不符合要求。通常在公司里的电脑上搞会出现这种状况,由于有些公司是须要安全认证证书的,替换掉了JDK原有的证书,因此会致使这种状况。因此建议仍是在本身的电脑上阅读源码。
上面这个错误还没等到下载的.......一串点出现就报错了,若是出现了这一串点,后来仍然报错,说明网络很差,多试几回,或者找一个网好的地方执行这一步,由于这一步须要继续下载不少的依赖。若是有必要的话,能够在build.gradle中加入阿里的maven仓库地址:maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} 。两处repositories都要加入。
**第五步:导入intellij**
这一步也是官方推荐的步骤,Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle) 。不须要网上乱七八糟的各类操做,那些操做是其余途径的导入,条条大路通罗马而已。git
后面选择一下本地路径spring framework下的build.gradle,选中以后肯定,而后选择本地gradle,结束以后就开始漫长的导入下载依赖之路。等着就行,网络不断基本不会出问题的。github
最近比较忙,断断续续的搞,至今还没搞出第一个完整的debug代码。慢慢学吧,有心得会记录在这里的。spring