1 Spring 5 源码下载
首先你的 JDK 需要升级到 1.8 以上版本。从 Spring 3.0 开始, Spring 源码采用 GitHub 托管,不再提供官网下载链接。这里不做过多赘述,大家可自行去 GitHub 网站下载,我使用的版本下载链接为 https://github.com/spring-projects/spring-framework/archive/v5.0.2.RELEASE.zip ,下载完成后,解压源码包会看到如下图所示的文件目录。
2 基于 Gradle 的源码构建技巧
由于从 Spirng 5 开始都采用 Gradle 编译,所以构建源码前需要先安装 Gradle 。 Gradle 下载地址为 https://gradle.org/releases ,我使用的是 Spring 5 官方推荐的版本 Gradle 4.0 ,下载链接为 https://gradle.org/next-steps/?version=4.0&format=bin ,下载完成后按以下步骤操作,这里以 Windows 操作系统为例。
第一步,配置环境变量,如下图所示。
第二步,添加环境变量 “ %GRADLE_HOME%\bin ”,如下图所示。
第三步,检测环境,输入 gradle -v 命令,得到如下图所示结果。
----------------------------------------------------------------------
Gradle 4.0
----------------------------------------------------------------------
Build time:2017-06-14 15:11:08 UTC
Revision: 316546a5fcb4e2dfe1d6aaÜb73a4e09e8cecb5a5
Groovy:2. 4. 11
Ant:Apache Ant THD version 1. 9.6 compiled on June 29 2015
JVM:1.8.0_ 131 (Oracle Corporation 25.131-b11)
OS:Windows 10 10. 0 amd64
第四步,编译源码,将 cmd 切到 spring-framework-5.0.2.RELEASE 目录,运行 gradlew.bat ,如下图所示。
Starting a Gradle Daemon (subeequent builds wi11 be faster)
> Task :he1p
We1come to Gradle 4.3.1.
To run a build, run gradlew <task> ...
To see a list of available tasks, run gradlew tasks
To see a list of command-line options, run gradlew –help
To see more detail about a task, run gradlew help --task <task>
DUILD SUCCESSPUL in 8s
1 actionable task: 1 executed
第五步,转换为 E clipse 项目,执行 import-into-eclipse.bat 命令,构建前请确保网络状态良好,按任意键继续:
----------------------------------------------------------------------
Spring Framework - Eclipse/STS project impart guide
This script will guide you through the process of importing the Spring
Framerork projects into Ec1ipse or the Spring Tool Suite STS) It is
recommended that you have a recent version of Eclipse or STS. As a bare
minimum you wi11 need Eclipse with full Java 8 support, the AspectJ
Development Tools (AJDT), and the Groovy Compiler.
If you need to download and install Eclipse or STS, please do that now
by visiting one of the following sites:
- Eclipse dommloads: http://dowload.eclipse.org/eclipse/dowloads
- STS dowmloads: http://spring.io/too1s/sts/a11
- STS nightly builds:http://dist.springsource.com/snapshot/STS/night1y-distributions.html
- ADJT: http://www.eclipse.org/ajdt/downloads/
- Groovy Eclipse: https://github.com/groovy/groovy-eclipse/wiki
Otheryise. prgss enter and we’11 begin.
请按任意键继续 . . .
----------------------------------------------------------------------
STEP 1: Generate subproject Eclipse metadata
The first step wil1 be to generate Eclipse project metadata for each
of the spring-* subprojects. This happens via the built-in
"Gradle wrapper" script (./gradlew in this directory). If this is your
first time using the Gradle wrapper, this step may take a fewr minutes
while a Gradle distribution is downloaded for you.
第六步,等待构建成功(若中途出现错误,大部分情况是由于网络中断造成的,一般重试一下都能解决问题),构建成功后会出现如下信息:
BUILD SUOCESSFUL in 6s
6 actionable tasks: 6 executed
----------------------------------------------------------------------
STEP 4: Import root project into Ec1ipse/STS
Follow the project inport steps listed in step 2 above to inport the
root project.
Press. enter, when complete, and move on to the final step.
请按任意键继续. . .
----------------------------------------------------------------------
STEP 5: Enable Git support for all projects
- In the Ec1ipse/STS Package Exp1orer, se1ect al1 spring* projects.
- Right-click to cpen the context menu and select Team > Share Project...
- In the Share Project dialog that appears, select Git and press Next
- Check "Use or create repository in parent folder of project"
- C1ick Finish
When complete, you' 11 have Git support enabled for all projects.
You' re ready to code! Goodbye!
到此为止,已经可以将项目导入 Eclipse 了。我们推荐使用的 IDEA 也比较智能,可以直接兼容 Eclipse 项目。接下来继续看下面的步骤。
第七步,导入 IDEA 。打开 IntelliJ IDEA ,单击“ Import Project ”,在弹出的界面中选择 spring-framework-5.0.2.RELEASE 文件夹,单击“ OK ”按钮,再单击“ F inish ”按钮,如下三图所示。
第八步,等待构建完成,在网络良好的情况下大约需要 10 分钟便可自动构建完成,你会看到如下图所示界面。
第九步,在 IDEA 中,如果能找到 ApplicationContext 类,按 Ctrl+Shift+Alt+U 键,出现如下图所示类图界面说明构建成功。
3 Gradle 构建过程中的坑
如果项目环境一直无法构建成功,类图无法自动生成,那么你一定是踩到了一个坑。
第一步,单击 View → Tool Windows → Gradle 命令,如下图所示。
第二步,单击 Gradle 视图中的刷新按钮,如下图所示。
这时会出现如下图所示的错误。
第三步,出现错误显然跟 Gradle 没有任何关系,解决办法:
( 1 )关闭 IDEA ,打开任务管理器,结束跟 J ava 有关的所有进程。
( 2 )找到 JAVA_HOME → jre → lib 目录,将 tools.jar 重命名为 tools.jar.bak 。
( 3 )重启 IDEA ,再次单击刷新按钮,等待构建完成。