Mac下使用IntelliJ IDEA导入Spring源码-Spring源码分析系列(一)

1. Github官网下载Spring源码

Spring的源码已经迁移到github,网址为https://github.com/spring-projects/spring-framework,选择分支5.0.×/tags/v5.0.2.RELEASE,点击下载zip文件。
Mac下使用IntelliJ IDEA导入Spring源码-Spring源码分析系列(一)_第1张图片

下载好之后解压,在Spring-framework文件夹下找到import-into-idea.md并打开,里面有导入idea的详细步骤和说明。

Steps 步骤

Within your locally cloned spring-framework working directory:
在你本地克隆spring-framework工作目录

  1. Precompile spring-oxm with ./gradlew :spring-oxm:compileTestJava
    用命令 ./gradlew :spring-oxm:compileTestJava 预编译 spring-oxm
  2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
    导入到IntelliJ(文件->新建->从已存在文件创建工程->选择目录->选择build.gradle)
  3. When prompted exclude the spring-aspects module (or after the import via File-> Project Structure -> Modules)
  4. Code away
    开始浏览代码吧

2. 下载安装Gradle

到Gradle 官网下载,下载并解压之后,配置环境变量,Linux/Mac平台下将环境变量添加到当前用户下下.bash_profile中即可(windows平台在环境环境中添加GRADLE_HOME,然后将bin目录添加到Path环境变量中)。配置好环境变量之后在终端中输入gradle -v,如果出现版本信息,说明gradle已经安装成功。

------------------------------------------------------------
Gradle 4.6
------------------------------------------------------------

Build time:   2018-02-28 13:36:36 UTC
Revision:     8fa6ce7945b640e6168488e4417f9bb96e4ab46c

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
OS:           Mac OS X 10.13.3 x86_64

3. 编译源代码

安装好Gradle之后就可以对源码进行编译了(将jdk版本升级到1.8)

网友文章建议 :
因为编译项目的时候有一个-XX:MaxMetaspaceSize=1024m的参数需要jdk1.8才支持,否则会报错。
在stackflow上看到三种解决办法:
1. 升级jdk到1.8;
2. 删掉这个配置;
3. 用3.x版本的分支代码,不用最新的。根据我的实践,第二种方法是治标不治本,因为在最新的Spring中使用到了jdk1.8的新特性,如果不升级到1.8将来还是会报错。

到spring-framework路径下执行命令gradlew.bat cleanIdea :spring-oxm:compileTestJava,等待编译完成(注:编译过程中会自动联网下载依赖,没网的话就杯具啦,编译过程耗时比较长,需耐心等待,直到打印build successful,Ok,搞定)。

4. 最后一步,导入IDEA

打开IDEA,File->New->Project From Existing Source,选中spring-framework文件夹,OK->Import project from external model,选中Gradle,点击Next,然后点击Finish,等待IDEA导入完成即可。

以上四步完成之后,随便打开源码中任意模块的一个java文件,如果不报错,恭喜你,已经导入成功了。

你可能感兴趣的:(Java开源框架)