IDEA 搭建spring源码学习环境
导语:
spring源码现在都是gradle版本的了,对于一向使用maven的我,真的是头疼,特此祭奠一下坑吧。
一,下载spring源码
进入github,搜索spring,windows环境就下载zip然后解压,linux我是习惯直接用git clone命令。
二,gradle下载
下载方式很简单,进入官网,下载解压,windows添加环境变量就不讲了,linux下也很简单。
1.编辑用户的环境变量文件,我的是在家目录下的.bashrc
vim ~/.bashrc
2. 在文件后面添加两句
export GRADLE_HOME= "你的gradle解压目录"
export PATH=$GRADLE_HOME/bin:$PATH
注意: 最后的$PATH不能忘记了,要不然重启之后就只剩下gradle的命令了,什么ls,vim,cd都没有了。
如果忘记加也有办法,毕竟export命令还在,环境变量还可以修改过来。
3.修改缓存路径
用了一段时间,发现缓存太占磁盘了,虚拟机只能添加新的磁盘,于是我新加了一个磁盘,挂在了~/java下。
1.把之前缓存的文件移到新的磁盘下, mv ~/.gradle ~/java/.gradle (新下载的gradle不需要这么做)
2. 进入gradle解压目录下的bin目录,编辑gradle.bat 文件, 添加:
set GRADLE_OPTS="-Dgradle.user.home="/home/zwj/java/.gradle"
二,导入进IDEA
在源码包里,有一个import-into-idea.md文件,按照里面的方式即可。但是偏偏我发现它打包会自己下载gradle,然后会把一些类似于maven的repository缓存到家目录下的.gradle文件里,可是我根目录下已经没有磁盘内存了。于是自能自己打包!
1.先导入File->new->project for exsit source
注意几个设置即可。
2.编译一下spring-oxm
下载的依赖比较多,需要一点的时间。
3.我个人是在spring里面创建一个demo项目,用于学习。
A.File->new->mudole (记得设置spring为父项目)
B.在spring的setting.gradle中添加 include "demo"
C.把demo的build.gradle,改成demo.gradle
D.根据需要在demo.gradle中添加依赖 ,如 include project(":spring-bean")
三,例子和纠错
导入和创建demo项目都没什么毛病,于是写了一个简单的例子:
public static void main(String[] argv) {
ApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
LearnBeanApplication application = context.getBean("application", LearnBeanApplication.class);
application.run();
}
public void run () {
System.out.println("the application is already init");
} 1.运行时会出现spring-context中有import报错,检查后发现是spring-instument没有编译,直接在gradle里选择spring-context然后buildDependents就行,类似的错误可能会在其他包中出现。
2.创建模块时,可能新的模块使用的是idea自身下载的gradle,出现错误时也应注意一下。

