IntelliJ Idea导入Spring 源码教程(Mac版)
第一步:下载github上Spring源码
下载地址:https://github.com/spring-projects/spring-framework 可以选择自己要下载的版本。
第二步:下载Gradle
因为Spring源码是用Gradle进行自动化构建的。所以先要下载并安装好Gradle->下载地址:https://gradle.org/releases/。
NOTICE:你下载的Gradle版本需要和你下载的Spring源码中的所需要的版本一致。
你可以查看源码gradle/wraaper/gradle-wrapper.properties文件中的Gradle的版本。
下载完对应版本的Gradle后,我们来进行安装,主要就是进行环境变量的配置。本人所用的macOS所以先进入终端然后 vim ~/.bash_profile打开配置文件之后输入i进入编辑模式编辑环境变量以下是配置信息
export GRADLE_HOME=Gradle所在路径export PATH=$PATH:$GRADLE_HOME/bin配置完成后,我们执行gradle -v如果结果如下图就说明安装成功了
第三步:按照Spring源码上import-into-idea.md说明导入到IntellijIdea
- 第一步:先用Gradle编译Spring源码中的spring—oxm模块。先找到spring-oxm所在目录然后运行./gradlew :spring-oxm:compileTestJava
- 第二步:然后导入spring源码到IntelliJIdea->配置Gradle->等待加载Jar(等待时间较长)。
- 第三步:因为spring-aspects模块依赖AspectJ所以要先下好aspectj.jar,之后导入到项目中Project Structure–>Modules–>spring-aspects。
我们完成上述三步后,然后BuildProject发现了如下错误:
查阅资料后发现错误原因:主要原因是Idea默认使用的Javac编译器,而aspectj关键字它不认识。接下来我们打开IDEA–Preferences–Build,Execution,Deployment–Compiler–JavaCompiler,将Use compiler设置为Ajc,将Path to Ajc compiler设置为AspectJ安装目录下的lib文件夹中的aspectjtools.jar文件,同时,可以勾选Delegate to Javac选项,它能够只编译AspectJ的Facets项目,而其他普通项目还是交由Javac来编译。
完成上述步骤后将spring-aop-main和spring-aspectjs-main两个模块添加AspectJ Facets: 打开:File–Project Structure–Facets,点击+号,选择AspectJ,选择spring-aop-main。添加完后,同样的操作,将spring-aspectjs-main模块也设置AspectJ。
完成以上步骤之后,我们BuildProject
完成之后我们写个Test跑一下代码