使用gradle编译spring源码
找了半天,终于找到了成功的解决办法。特于此记录。
1.下载spring源码:
github地址: 码云地址:
github的童鞋,很慢!码云的童鞋飞起!!但是笔者给的是spring5.1.x的,想要看低版本的怎么办? 给个老铁的链接: []:
2.安装gradle:
- 官网(慢):
- 下载地址(快):
- 解压:
- 环境配置: 新建系统变量:
GRADLE_HOME
E:install-devgradle-5.6.3 ## 修改为自己的路径
Path中添加信息:
%GRADLE_HOME%in
cmd查看gradle版本:gradle -v
修改gradle配置:
gradle根目录:init.d下,新建一个:init.gradle 文件,添加以下内容(为了下载包更快呗!)
allprojects{
repositories {
def REPOSITORY_URL = http://maven.aliyun.com/nexus/content/groups/public/
all {
ArtifactRepository repo ->
def url = repo.url.toString()
if ((repo instanceof MavenArtifactRepository) && (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文件:将原来的信息替换成以下的信息
allprojects {
repositories {
maven{
url http://maven.aliyun.com/nexus/content/groups/public/}
}
}
3.构建源码:
在源码根目录有一个文件:import-into-idea.md(别理它,我们继续!!)
1. Precompile `spring-oxm` with `./gradlew :spring-oxm:compileTestJava`
2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
3. When prompted exclude the `spring-aspects` module (or after the import via File-> Project Structure -> Modules)
4. Code away
cmd到spring源码下:执行gradlew :spring-oxm:compileTestJava,然后体验一下速度吧!! 出现如图所示的,构建成功了!接下来导入idea了!!
4.导入idea:
- File -> New -> Project from Existing Sources -> 找到选择spring-framework源码 -> 选择build.gradle
- 笔者的打开之后,idea配置gradle: File->setting->gradle 点击ok,右下角开始加载包,但是还是慢!!最后修改:gradle.properties配置文件:
org.gradle.daemon=true org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.configureondemand=true
在JDK1.8中-XX:MaxPermSize=512m无效,因为JDK1.8没有永久代的说法,取而代之的是元空间概念,因此可以改为:-XX:MaxMetaspaceSize=512m,设置参数主要是编译下载包会占用大量的内存,可能会内存溢出。笔者会写相关的文章哦!!
转载:
