1. 去github上下载一个springframework的源码包
地址;https://github.com/spring-projects/spring-framework
选择5.0.x分支
2. 下载 gradle
http://downloads.gradle.org/distributions/gradle-4.9-bin.zip
解压,配置 GRADLE_HOME 和 Path选择5.0以下的版本
3. 用Idea打开项目 ,对Idea的gradle进行配置 不然会不兼容。
4.当项目构建完成之后,便可开始编译。
先
gradlew :spring-oxm:compileTestJava
然后
gradlew :spring-core:compileTestJava
导入项目遇见问题:
1.No such property: immutableValues for class: org.gradle.api.internal.tasks.DefaultTaskDependency
修改:spring-beans.gradle
注释掉这两行代码
//def deps = compileGroovy.taskDependencies.immutableValues + compileGroovy.taskDependencies.mutableValues
//compileGroovy.dependsOn = deps - 'compileJava'
2.Could not find method useJUnitPlatform()
注释:spring-test.gradle中这行代码
// useJUnitPlatform {
// includeEngines 'junit-jupiter'
// excludeTags 'failing-test-case'
// }
3.kotlin编译导致的问题
org.gradle.api.CircularReferenceException: Circular dependency between the following tasks:
:spring-beans:compileGroovy
\--- :spring-beans:compileJava
\--- :spring-beans:compileKotlin
\--- :spring-beans:compileGroovy (*)
编译github的最新spring源码发现该问题,主要是kotlin版本不一致导致的
重点: 将问题1的注释去掉
4.Aspects模块代码编译出错
https://jira.spring.io/browse/SPR-12103
https://youtrack.jetbrains.com/issue/IDEA-64446