最近一周在Spring源码环境的搭建上花费了比较多的时间,在这里做一个记录。
0. 安装本地环境
安装java
安装gradle (最好手动安装)
不了解可以自行百度教程
1. 下载源码
git clone https://gitee.com/mirrors/Spring-Framework
正常的下载途径应该是 github.com/spring-proj…
2. 切换分支
git checkout 。。。
这个就根据自己的需求切换到相应的branch 或者 tag 就可以,我直接使用了master
3. 执行 gradle wrapper
spring源码工程使用gradle工具进行构建, 根据项目文档 import-into-idea.md 的指导,可以直接执行命令
但是在mac上会报错 no such file or directory,因此需要先执行gradle wrapper
4. 修改gradle远程仓库配置
(对grdle配置不熟悉,也是各种百度),因为国内对外网访问限制,导致无法下载依赖包,这里必须要赞一下阿里,为国内的开发者提供很大的便利。
gradle的安装目录下有个init.d文件夹,在这个文件夹下创建文件init.gradle,然后复制一下代码到文件中
allprojects {
repositories {
def REPOSITORY_URL = 'https://maven.aliyun.com/nexus/content/groups/public/'
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository && repo.url != null) {
def url = repo.url.toString()
if (url.startsWith('https://repo.maven.apache.org') || url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
remove repo
}
}
}
maven {
url REPOSITORY_URL
}
}
}
spring工程目录下的build.gradle文件修改如下:
spring工程目录下 buildSrc/build.gradle文件修改如下:
spring工程目录下settings.gradle修改如下:
5. 执行 ./gradlew :spring-oxm:compileTestJava
如果执行过程中提示无法下载 gradle-x.x.x-bin.zip, 可以把这里下载链接复制到迅雷中下载,或者去阿里云仓库、清华大学镜像仓库、中国科
学技术大学镜像仓库找找。下载后复制gradle安装目录下的wrapper/dists/gradle-x.x.x
-bin/3clyn6icets6f02ptgd5hlmou/
然后重新执行 ./gradlew :spring-oxm:compileTestJava
还可以在下载文件后,修改工程的配置文件 工程根目录/gradle/wrapper/gradle-wrapper.properties
修改文件中属性 distributionUrl=file:<本地gradle-x.x.x-bin.zip文件的全路径>
然后重新执行 ./gradlew :spring-oxm:compileTestJava
6. 导入ide
ide会对工程文件进行编译检索,需要半个小时左右
成功后可以在工程中新建自己的子模块,运行代码
最近使用idea打开spring源码工程,突然提示无法找到 javax.servlet.xxx
解决方法: 重新导入gradle工程即可,如果有其他问题,逐一检查之前的配置
最后再分享一个阿里云的镜像仓库列表 maven.aliyun.com/mvn/guide