eclipse导入spring源码

工作也3年多了,经常碰到人家问:看过spring源码没?看过java虚拟机工作原理没?。。。等等,一想自己,好像什么都没看过,就守着自己的一亩三分地来回“耕”,然后就想着看看spring源码,网上有很多资料,趁着上班空余时间,来回折腾了一天,最后也是没弄好,后来看见这个帖子,一步成功了。

分享下:

先配置好自己环境:

1. 正确安装jdk,并配置好JAVA_HOME、PATH。(我这里安装的是jdk1.8)

2. 正确安装好eclipse。(我的eclipse版本是: Oxygen Release (4.7.0))

1. 首先去下载spring的源码 https://github.com/spring-projects/spring-framework/releases。 因为我的jdk版本是1.8,所以我这里下载的版本是4.3.11。

下载完成之后解压到本地目录。

2. spring源码的编译需要gradle的支持,所以需要去gradle官网下载gradle https://gradle.org/gradle-download/。如果打不开可以到我的网盘下载: http://pan.baidu.com/s/1kVGu8yr 

下载完成后同样只需要解压到本地目录,但是此时记得去配置环境变量 GRADLE_HOME和PATH。配置正确的话,在cmd输入: gradle -v 能够正确显示gradle版本。

3. 进入spring源码根目录,打开命令窗口,输入 import-into-eclipse.bat 运行脚本,这时候就开始编译spring源码并且生成可以导入eclipse的.classpath、.project文件了。在运行的开始可能出现下载类似:https://services.gradle.org/distributions/gradle-1.12-bin.zip 连接超时,这个是网络问题。可以多试几次,也可以在命令行请求这个文件的时候去浏览器直接输入这个路径。(我执行时没出现这个,可能网络好)

编译的时间非常长。在编译的过程中很有可能会出现错误,这时候需要根据具体的错误信息自行百度解决。这里说一个需要注意的地方就是:源码跟路径下的build.gradle文件中一般有下面的话:

compileJava {
sourceCompatibility = 1.6
targetCompatibility = 1.6
}

compileTestJava {
sourceCompatibility = 1.8
targetCompatibility = 1.8
options.compilerArgs += "-parameters"
}

这个就是指定源码编译使用的是jdk1.6,而测试代码编译使用的是jdk1.8。也就是此时应该要安装jdk1.8.

4. 一路回车编译完成就可以在eclipse中导入了,导入的时候记得勾选eclipse中的列出下层的所有工程选项,否则导入的就是一个大的spring工程而不是各个工程分开。

 5. 导入完成之后发现spring-beans-groovy工程中有错误,这是由于eclipse中没有安装groovy插件导致的。直接: help--->install new software. 添加下面站点:

http://dist.springsource.org/snapshot/GRECLIPSE/e4.7/ 添加后选中required项进行安装。 不同版本的eclipse安装goorvy的站点列表参照:https://github.com/groovy/groovy-eclipse/wiki。安装完成之后重启eclipse即可,clean一下报错的工程即可。如果还报错,修改下groovy编译的级别为2.3:(正常也不会出现这个问题,我基本一步到位)


出现问题:

1.出现问题:The type java.util.concurrent.Flow$Publisher cannot be resolved. It is indirectly referenced from required .class files

最开始我下的spring源码是master分支上的,是最新的5.X,这个是jdk1.9的新特性,eclipse的jdk版本只要低于1.9都会报这个错误,下载对应版本的spring就OK了。

其他基本没碰上问题了,可以看源码了?


原帖地址:https://www.cnblogs.com/shijiaoyun/p/7458273.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值