前言
之前写过一篇文章,连接如下 juejin.cn/post/693197…
可作为参考,其实,编译spring源码最大的问题就是国内网络问题,下载不到相关的依赖
配置一下gradle的远程仓库,可以解决这个问题
安装gradle
参考上述提到的文章
配置gradle镜像加速
进入到gradle的根目录,找到init.d目录,并进入
创建一个 init.gradle 的文件,写入如下内容,并保存
def repoConfig = {
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.contains('repo1.maven.org/maven2') || url.contains('jcenter.bintray.com')) {
println "gradle init: (${repo.name}: ${repo.url}) removed"
remove repo
}
}
}
// maven { url 'http://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
}
allprojects {
buildscript {
repositories repoConfig
}
repositories repoConfig
}
spring源码修改
可参考提到的文章,
这里提一下的是spring-beans/spring-beans.gradle这个文件的内容 需要调整一下,之前的文章也提到过,如下:
def deps = compileGroovy.taskDependencies.immutableValues + compileGroovy.taskDependencies.mutableValues
compileGroovy.dependsOn = deps - "compileJava"
compileKotlin.dependsOn(compileGroovy)
compileKotlin.classpath += files(compileGroovy.destinationDir)
其它的,可不做修改