eclipse导入spring-4.3.x源码
首先,从github网站获取spring4.3.x分支源码(下载需要一些时间):
git clone -b 4.3.x https://github.com/spring-projects/spring-framework.git
进入源码目录,打开import-into-eclipse.sh脚本文件,可查看到具体的编译安装步骤:
- STEP 1: Generate subproject Eclipse metadata(当前步骤需要一些时间)
gradle --stacktrace --no-daemon cleanEclipse :spring-oxm:compileTestJava eclipse -x :eclipse
备注:
- –stacktrace参数是为了显示在编译过程中出现的java异常信息
- 编译过程中出现过org.gradle.listener.ActionBroadcast的异常的解决办法[^1]:
将工程中的bulid.gradle文件中的
plugins {
id “org.sonarqube” version “1.1”
}
改成
plugins {
id “org.sonarqube” version “2.5”
}
即可. - 编译过程中出现过如下异常信息的解决办法[^2]:
* What went wrong:
Execution failed for task ':spring-orm:eclipseClasspath'.
> Could not find matching constructor for: org.gradle.plugins.ide.eclipse.model.
ProjectDependency(org.codehaus.groovy.runtime.GStringImpl, java.lang.String)
修改gradle的版本为3.5.0,之前用的是gradle4.0版本。
2. STEP 2: Import subprojects into Eclipse/STS
- 启动eclipse, 点击File > Import > General > Existing Projects into Workspace.
- 浏览选择源码目录,然后勾选所有的子项目,点击“Finish”即可
- 项目导入完成后,应该没有错误,如果有错误需要逐个修复错误!此处我遇到了几处错误是直接打开eclipse的问题列表,然后右键错误点击"Quick Fix"
- STEP 3: Generate root project Eclipse metadata
gradle --no-daemon :ececlipse
- 然后,参照STEP2,导入spring 根项目。
到此为止,就可以开始学习Spring源码了。
参考文献
[1] linkforme. 用idea导入spring源码时,报:org/gradle/listener/ActionBroadcast错误时解决方法. https://blog.csdn.net/linkforme/article/details/85274769. 访问日期:2019.3.31
[2] 愤怒的苹果ext. eclipse导入spring源码一. https://blog.csdn.net/baidu_19473529/article/details/79518337. 访问日期:2019.3.31