原滋原味的构建Spring Framework源码

1、克隆Github代码仓库

github提供了两种方式(ssh、https)克隆仓库,即。考虑windows系统的方便,我使用https的方式。
很多人一开始参考README.md的说明,代码往往就是克隆不下来。

Check out sources
git clone git@github.com:spring-projects/spring-framework.git

那是因为使用了ssh协议,你的先在电脑上配置一个公钥。为了简单点使用,直接使用账户密码的方式,认证github服务器。
这里写图片描述

这里写图片描述

静静的等待克隆下载吧!

2、切换git分支

克隆下来的代码,默认是master分支,不建议直接去研究,master分支的代码应该是属于开发的分支;建议切换到一个最新的release。
这里写图片描述

这里写图片描述

3、Gradle构建源码

因gradle发展的比较快,所有gradle的版本实在太多了,经常出现因版本的问题导致编译工程失败。所有gradle就有了一个gradle包装器(gradlew)的东东,主要用来解决项目构建的gradle版本问题。大概意识就是通过gradlew指定一个gradle版本,在执行 gradlew clean build -x test 命令时,如果本地没有指定的gradle版本,它就会自动下载一个。

例如:这是我的电脑上gradlew下载的多版本gradle

这里写图片描述

在命令行窗口中执行下面的构建命令,在网络良好和内存足够,一般都会编译成功。

gradlew build -x test

下面这个就是gradle的内存不足,导致无法生成pdf参考手册。

:referencePdf
Font 'Symbol,normal,700' not found. Substituting with 'Symbol,normal,400'.
Font 'ZapfDingbats,normal,700' not found. Substituting with 'ZapfDingbats,normal,400'.
Font 'ZapfDingbats,italic,400' not found. Substituting with 'ZapfDingbats,normal,400'.
Line 1 of a paragraph overflows the available area by 37686mpt. (fo:block, location: 4331/4743)
Line 1 of a paragraph overflows the available area by 13686mpt. (fo:block, location: 4333/1089)
Line 1 of a paragraph overflows the available area by 13686mpt. (fo:block, location: 5684/3551)
Line 1 of a paragraph overflows the available area by 1686mpt. (fo:block, location: 5684/9485)
Line 2 of a paragraph overflows the available area by more than 50 points. (fo:block, location: 5684/9871)
Line 2 of a paragraph overflows the available area by 1686mpt. (fo:block, location: 7951/6052)
Line 2 of a paragraph overflows the available area by 8125mpt. (fo:block, location: 9408/628)
:referencePdf FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':referencePdf'.
> Java heap space

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3 mins 39.091 secs

为了全局性解决该问题,直接新增一个gradle的系统配置文件,保证idea中也能正常编译。
这里写图片描述

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值