【问题记录】【Spring】Spring-framework 源码环境搭建
1 前言
换了个电脑,这不是得倒腾代码嘛,这Spring 源码还是 Gradle 管理的依赖,平时接触 Gradle 就比较少,这家伙这环境给我整的大半天,最后也算是整好了,把中间遇到的各种问题就下,希望大家少走弯路。
需要用到的地址我先贴出来,有的需要下载的可以先下载下来:
源码:源码下载
Gradle:腾讯各种版本 Gradle 地址 阿里各种版本 Gradle 地址 (都一样的,哪个下载的快就用哪个,当然版本很重要,至于下载哪个版本的,需要看你的源码的 /spring-framework/gradle/wrapper/gradle-wrapper.properties 这个里边就能看到需要的 Gradle版本)
阿里仓库指南:阿里仓库
2 环境准备
2.1 源码下载
地址在上边了,大家选择要下载的版本,我这里的分支是选的:5.0.X
代码下载下来,最初是这样的
2.2 源码文件修改
接下来我们要改一下源码中的仓库,因为不改的话,奶奶的我前几次就没改,下载的那叫一个慢,比老奶奶过马路都慢,下载着还总失败,每次失败的话,还又重新下载一遍,又失败又重新全部下载,我真的是心态还崩的住,真的我下载好几次,每次二十多分钟,失败了几次后,我开始看怎么更换镜像仓库了,我要被干败了,搜了几个都不好使,所以大家这种弯路还是别走了,有的弯路要走的可以看到一些底层,但这种弯路没什么意思,接下来按我说的来。
总共需要改四个文件:
build.gradle、gradle.properties、settings.gradle 这三个是要改仓库信息 加一些配置
gradle-wrapper.properties(这个是在 源码下/gradle/wrapper/gradle-wrapper.properties)这个里边是改 Gradle 的信息 改成本地的
我们先看前三个文件的仓库信息的改变:
2.2.1 build.gradle
搜索 repositories,增加阿里的仓库信息:
repositories {
maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
}
}
搜索 configurations.all 注释掉这里:
2.2.2 gradle.properties
增加如下信息:
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.caching=true
org.gradle.parallel=true
2.2.3 settings.gradle
增加仓库信息:
pluginManagement {
repositories {
maven { url "https://maven.aliyun.com/repository/public" }
maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
maven { url "https://maven.aliyun.com/repository/spring-plugin" }
gradlePluginPortal()
maven { url 'https://repo.spring.io/plugins-release' }
}
}
2.2.4 gradle-wrapper.properties
这个文件就涉及到 Gradle 的信息了,需要本地先安装下 Gradle ,可以打开你的文件看看你需要的 Gradle 版本(可以看到我这里的是4.4.1,然后上边有下载的地址,下载对应版本的压缩包下来即可:
比如打开腾讯的 Gradle版本地址,找到你的版本,下载这个 bin.zip结尾的即可:
下载下来可以放到自己的工具文件夹等地方比如我放到了这里(我的各种环境工具都在这里):
压缩包别急着删,把它复制一份到这里
然后改一下 gradle-wrapper.properties 文件里的信息,去掉前边的地址信息,只留文件名:
然后我们的 Gradle 还需要配下环境变量:
# 编辑环境配置 vi ~/.bash_profile # 加入你的 Gradle 信息 export GRADLE_HOME=/Users/kuku/tool/gradle/gradle-4.4.1 export PATH=$PATH:$GRADLE_HOME/bin # 生效配置 source ~/.bash_profile
最后验证下 Gradle 配置:
好了,到这里所有的改变就完事了,接下里最好重启下 IDEA,然后我们就差最后的执行了。
2.3 构建
重启完 IDEA,我们打开控制台验证下 Gradle 命令,看看可以了不:
记住先别用 IDEA 的 Gradle构建,千万别用,我们先用 IDEA 的控制台构建一下,因为我怕了,用那玩意之前失败了好多次,我们执行这个:
./gradlew :spring-oxm:compileTestJava
看执行效果,因为我执行过了,所以很快,你执行的话应该是先会下载一些依赖,并且都是从阿里云的仓库下载的还是比较快的,等个三四分钟就构建完了:
最后我们的环境就这样好了:
如果大家的每个 module 还是灰色的话,就可以大胆执行右边的 Gradle 加载所有的 Gradle 工程了,执行完每个模块就黑了:
3 小结
希望对大家有用,有理解不对的地方欢迎指正哈。