在 fork 官方源码 到自己的仓库后(fork 的好处是方便自己试验和注释), 将其 git clone 下来, 因平时工作用的是 idea 就想用 idea 作为工具。
clone 下来后可以看到根目录下有2个指引文件说明 import-into-idea.md 中写明了导入 idea 的步骤
Within your locally cloned spring-framework working directory:
- Pre-compile spring-oxm with ./gradlew cleanIdea :spring-oxm:compileTestJava
- Import into IDEA (File->import project->import from external model->Gradle)
- Set the Project JDK as appropriate (1.8+)
- Exclude the spring-aspects module (Go to File->Project Structure->Modules)
- Code away
- 需要预先编译 spring-oxm 这个 xml 的对象映射模块,命令:
./gradlew cleanIdea :spring-oxm:compileTestJava
- 导入到 idea (文件 -> 导入项目 -> 从外部导入模型 -> Gradle
- 设置项目 jdk 版本为 1.8
- 将模块 spring-aspects 从项目中排除 (文件 -> 项目结构 -> 模块)
- 好了,可以滚去撸代码了
这边我是直接用 idea 打开项目, 然后在 terminal 中执行 ./gradlew cleanIdea :spring-oxm:compileTestJava
接着是漫长的等待。。。 9分多钟
但是我在刷新 gradle 的时候还碰到一个问题 (我是用的 4.3.x 分支,master 分支不会有这个问题)
Gradle sync failed: Cause: org/gradle/listener/ActionBroadcast
参考 https://stackoverflow.com/questions/44363124/gradle-sync-failed-cause-org-gradle-listener-actionbroadcast 的解答,把 build.gradle 里边的
plugins {
id "org.sonarqube" version "1.1"
}
改为
plugins {
id "org.sonarqube" version "2.6.1"
}
然后等插件加载完就好了
最终,idea 中项目目录的类别也都识别出来了
步骤还是很明确的,只是需要加载的时间较长
突然~~ 又想玩玩 eclipse了
源码本身不是 eclipse 能识别的格式, 需要先执行下根目录下的 import-into-eclipse.sh
脚本
sh import-into-eclipse.sh
也是要等一会,会生成一些 eclipse 工程需要的文件 ,然后 eclipse 导入的时候就能识别了
我是新下载的 eclipse,所以在导入前需要先装好 gradle 的插件,直接在 help -> eclipse marketplace 里边安装
然后 file -> import -> gradle 选择代码目录就好了,然后可能会出现 spring-beans-groovy 这个模块报错,原因是因为没有安装 groovy 的编译器导致的,同样在 marketplace 中安装
下载 spring 插件, 在官网 https://spring.io/tools/sts/all 中选择eclipse 版本对应的插件包
然后,help -> install new software 选择下载好是 zip 文件
选 Spring IDE 相关
安装完重启后,可以在 window -> show view -> other 中看到多了几个