在学习Spring的时想了解一些重要接口和类的源码,本文讲述了Spring工程的下载和在IDEA上打开的操作,共需要以下几步:
1. 安装JDK;
2. 安装gradle;
3. 下载spring源码;
4. 切换到4.1.x分支;
5. 用IntelliJ IDEA导入;
接下来准备开始吧;
原文地址:http://blog.csdn.net/boling_cavalry/article/details/79426075
版本参考
以下列出我本次实战用到的各个工具的版本,以供您参考:
1. 操作系统:win10
2. Git Bash版本2.15,并且已配置好账号信息,可以正常执行git命令;
3. JDK:1.8.0_111
4. gradle:2.14.1(不要用4.x版本,会提示找不到插件”sonar-runner”)
5. IDEA版本如下图:
安装JDK
这个就不多说了,记得要配置环境变量JAVA_HOME;
安装gradle
- 在此下载:http://services.gradle.org/distributions/;
- 下载gradle-2.14.1-bin.zip文件并解压;
- 设置环境变量GRADLE_HOME,值是解压后的gradle-2.14.1文件夹的目录;
- 将gradle-2.14.1/bin的路径添加到PATH中;
- 在控制台执行gradle -version可以看到以下信息,表明安装和设置成功:
C:\Users\12167>gradle -version
------------------------------------------------------------
Gradle 2.14.1
------------------------------------------------------------
Build time: 2016-07-18 06:38:37 UTC
Revision: d9e2113d9fb05a5caabba61798bdb8dfdca83719
Groovy: 2.4.4
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_111 (Oracle Corporation 25.111-b14)
OS: Windows 10 10.0 amd64
下载spring源码
- 登录GitHub;
- spring项目的地址是:https://github.com/spring-projects/spring-framework,点击右上角的Fork按钮,如下图:
- Fork成功后网页会自动跳转到新的项目主页,如下图,点击红框1和红框2,复制新项目的git地址,例如我这里的地址是:https://github.com/zq2599/spring-framework.git;
- 打开命令行终端,执行以下命令开始下载:
git clone https://github.com/zq2599/spring-framework.git
5. 在spring-framework文件夹下,执行git branch -a查看分支列表,如下:
12167@zhaoqinwin10 MINGW64 /d/study/spring-framework (master)
$ git branch -a
4.0.x
4.1.x
* master
remotes/origin/3.0.x
remotes/origin/3.1.x
remotes/origin/3.2.x
remotes/origin/4.0.x
remotes/origin/4.1.x
remotes/origin/HEAD -> origin/master
remotes/origin/beanbuilder
remotes/origin/conversation
remotes/origin/gh-pages
remotes/origin/master
6. 执行命令 git checkout 4.1.x切换到4.1.x分支;
用IntelliJ IDEA导入工程
- 打开IntelliJ,点击Import Porject按钮,如下图红框:
- 选中spring-framework文件夹;
- 选择”Import project from external model“,再选中”Gradle”,如下图,点击”Next”按钮:
- 接下来的页面是一些配置信息,选择如下图,注意要确保Grandle和Jdk的设置是有效的:
- 等待IDEA导入和构建完成,这里比较耗时,因为要下载一些依赖库,如下图:
看源码和类图
导入完成后,就可以愉快的阅读源码了,遇到重要的类和接口可以用IDEA自带的类图工具查看类图和继承关系,操作方法是在源码上右键选择”Diagrams -> Show Diagram”,更详细的操作请参考《用IntelliJ IDEA看Java类图》;
几个特别说明
- 源码文件夹下的import-into-idea.md文件中,说要先执行命令./gradlew cleanIdea :spring-oxm:compileTestJava再用IDEA导入工程,经过实测不需要执行此命令,就按前面的步骤直接导入工程也没问题,当然前提是您的IDEA版本和我的一致或更高;
- gradle版本请用2.14.1,此版本可以构建成功,我试过4.6版本,会提示找不到插件”sonar-runner”;
- 我也试过在导入时选择“Use gradle ‘wrapper’ task configuration”,如下图,也会导入失败,提示“Could not determine the class-path for interface org.jetbrains.kotlin.kapt.idea.KaptGradleModel.”: