Spring5.0.X源码阅读环境搭建Eclipse4.6.3(neon)

xiaoxiao2021-02-27  145

绪论

Spring在J2EE中具有极高的地位,所以对于Spring源码的阅读,对于Java开发者来说能学习到很多的经验。很多人在搭建Spring源码环境的时候会出现很多的问题,为了让后面的人少走弯路,所以将自己的搭建经验与大家分享。

1.环境准备

下载Eclipse,搭建是Eclipse4.6.4(neon)。

1.1 Eclipse安装Gradle插件

由于Spring是用Gradle构建的,建议下载Gradle的Eclipse

Eclipse VersionTypeUpdate SiteOxygen (4.7)snapshothttp://download.eclipse.org/buildship/updates/e47/snapshots/2.xNeon (4.6)releasehttp://download.eclipse.org/buildship/updates/e46/releases/2.xNeon (4.6)milestonehttp://download.eclipse.org/buildship/updates/e46/milestones/2.xNeon (4.6)snapshothttp://download.eclipse.org/buildship/updates/e46/snapshots/2.xMars (4.5)releasehttp://download.eclipse.org/buildship/updates/e45/releases/2.xMars (4.5)milestonehttp://download.eclipse.org/buildship/updates/e45/milestones/2.xMars (4.5)snapshothttp://download.eclipse.org/buildship/updates/e45/snapshots/2.xLuna (4.4)releasehttp://download.eclipse.org/buildship/updates/e44/releases/2.xLuna (4.4)milestonehttp://download.eclipse.org/buildship/updates/e44/milestones/2.xLuna (4.4)snapshothttp://download.eclipse.org/buildship/updates/e44/snapshots/2.xKepler (4.3)releasehttp://download.eclipse.org/buildship/updates/e43/releases/2.xKepler (4.3)milestonehttp://download.eclipse.org/buildship/updates/e43/milestones/2.xKepler (4.3)snapshothttp://download.eclipse.org/buildship/updates/e43/snapshots/2.xJuno (4.2)releasehttp://download.eclipse.org/buildship/updates/e42/releases/2.xJuno (4.2)milestonehttp://download.eclipse.org/buildship/updates/e42/milestones/2.xJuno (4.2)snapshothttp://download.eclipse.org/buildship/updates/e42/snapshots/2.x

安装完插件后指定一下gradle的本地仓库位置: 也可不指定,不指定的话,会在C:\Users\{user}.gradle目录。user表示你的计算机用户名。

1.2 下载源码

spring的源码在GitHub上可以下载到: Spring源码地址

复制项目地址: 通过git导入项目:

1.3 导入spring-framework源码

右键–>import

2.搭建过程

导入报错后,很多人可能不知道怎么办。没关系,带大家一步步分析,把错误原因找到,一个个的解决掉。

2.1下载Groovy插件

由于spring是需要groovy的支持,下载groovy插件: 下载地址 根据我的Eclipse的版本,我选择的是4.6的:

2.2 解决错误

解决依赖报错的最快方式是在Gradle Tasks找到ide: 点击eclipse,项目中所有的依赖和配置都会生成到你的ide如果仍有部分代码报错。请参考下面内容。 导入代码后效果如下: 对于这些错误不用慌,一个个的解决。点开一个报错的项目spring-aop随便找到一个报错的类: 很明显,通过错误可们看出,这个错误是由于缺包导致的。通过阅读源码发现spring为了避免第三方class的冲突,把最新的cglib和objenesis给repack了。可以到http://cglib.sourceforge.NET和http://objenesis.org中下载最新的两个包, 但并不符合spring框架本身的结构。

这里提供现我下载的两个现成的包: spring源码repack的两个包

右键点点击项目–>properties–>找到Java Build Path 把刚刚的两个jar包导入到lib 把对应的包导入到对应的项目。 仍然发现还有四个模块报错: 打开spring-aspects中报错的一个类发现: 在类中引用了AnnotationCacheAspect.aj,但是无法引用到,这明显是缺少了某些插件。*.aj需要jadt插件的支持。

2.3 安装AJDT插件

下载地址 这是对应Eclipse我安装的版本: 复制url Help–>Install New Software 安装: 插件安装小技巧:由于都是安装的插件都来自国外,过程中可能会报错,报错后点detail把报错的jar的地址复制到浏览器下载,如果访问不了,多试几次,下载完放到eclipse的plugin目录下 安装重启后重新导入一下代码。 我们还发现有一部分代码报错,但是这些包都是jdk中的: 把项目的jre重新导入错误不再发生。 好了,把这个错误解决后,发现还有一个模块仍然报错: 很明显,还是缺包,不过这个仅仅是test中的代码报错。在gradle里面build一下,会把缺失的包下载过来。 等包下载完后,再点一下eclipse。 这个时候发现在Build Path的lib下面多了很多的依赖包。 其实上面缺失的包,同样可以通过这种方式来解决。 所有的错误解决完,很干净。

转载请注明原文地址: https://www.6miu.com/read-14515.html

最新回复(0)