二、构建Spring源码环境

Spring 的源码已经从 svn 迁移到 GitHub。而且也改为基于 Gradle 的构建来构建项目。它取代了之前的 Ant+Ivy 系统,所以要构建 Spring 源码环境首先要安装 GitHub 以及 Gradle。

安装 GitHub

windows系统对应版本的下载地址为:http://windows.github.com/

安装Gradle

Gradle 是一个基于 Groovy 的构建工具,它使用 Groovy 来编写构建脚本,支持依赖管理和多项目创建,类似 Maven,但比其更加简单轻便。
Gradle 为 Ivy 提供了一个 layer,提供了 build-by-convention 集成,而且他还让你获得许多类似 Maven 的功能。

Gradle 的下载地址是:http://www.gradle.org/downloads
下载好之后将文件解压到某个目录,然后要进行环境变量的配置。

(1)根据对应目录创建GRADLE_HOME系统变量

这里写图片描述

(2)将系统变量加入到Path中。
%GRADLE_HOME%\bin;

这里写图片描述

(3)测试
完成系统变量的配置之后,打开cmd输入命令gradle -version,如果安装成功的话,会出现Gradle对应的版本信息。

这里写图片描述

下载Spring

方法1、直接网站下
下载地址:https://github.com/SpringSource/spring-framework/tags/
选择需要的版本下载zip即可。

方法2、使用github下载Spring(不推荐使用这种方式,只能是最新的源码)
单击快捷菜单中的 Git Shell 选项,打开 GitHub 后,可以通过 cd 命令将当前操作目录转换到我们想要存储源码的目录。
例如:e:\test ,执行命令 cd e:\test
输入以下命令:
    git clone git://github.com/SpringSource/Spring-framework.git
  其中,git://github.com/SpringSource/Spring-framework.git 为Spring的源码地址。执行命令后便进入源码下载状态。

Spring源码构建

方法一(不推荐使用):

可以只对感兴趣的工程进行 Eclipse 工程转换,比如我们想要查看 Spring 事务部分的源码,打开命令窗口,用cd命令将当前目录切换至源码所在目录,这里是 Spring-tx文件夹下,执行命令gradle cleanidea eclipse ,将Spring源码转换成Eclipse工程。转换完成之后,我们再查看对应的文件夹会发现,已经出现了作为 Eclipse 工程所必须的 .project 和 .classpath 文件了。然后打开Eclipse,将工程导入。导入之后你会发现工程名称前面有一个红色的感叹号,这说明存在错误,查看依赖包及工程,会发现当前工程所依赖的jar包出现问题:

这里写图片描述

查看依赖的 Projects 时发现:

这里写图片描述

依赖的项目出现问题:
只需要把需要的几个项目编译之后导入就可以了。

依赖的jar包出现问题:
暂时遇到:缺失spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar。
虽然可以从网上下载到这个2个包,但是,由于版本问题,还是不能使用。最好的解决办法就是从源码里边将需要的包提取出来:

1.首先下载对应版本的dist.zip文件

下载对应版本的dist.zip文件来提取需要的jar包(distribution,发布用的版本)访问地址:http://repo.springsource.org/libs-release-local/org/springframework/spring/ (可能会很慢)

这里写图片描述

2.提取
解压spring-framework-4.3.0.RELEASE-dist\spring-framework-4.3.0.RELEASE\libs目录下的spring-core-4.3.0.RELEASE.jar文件

spring-cglib-repack-3.2.4.jar
    命令:jar cvf spring-cglib-repack-3.2.4.jar org\springframework\cglib

spring-objenesis-repack-2.4.jar
    命令:jar cvf spring-objenesis-repack-2.4.jar org\springframework\cglib

3.将jar包添加到工程当中

这种方法有点麻烦,推荐使用第二种方法

方法二:批量构建

优点:可以将所有工程一次性的编译、导入,并且能减少导入后整理jar包的工作。
步骤:
1.gradlew.bat(预构建)

下载的Spring源码文件的spring-framework目录里面有一个gradlew.bat批处理文件,双击出现控制台界面,连续按两次回车键,会自动下载各种依赖jar包和dom文件。

2.import-into-eclipse.bat (构建)

spring-framework目录里面有一个import-into-eclipse.bat批处理文件,双击出现控制台界面,连续按两次回车键,就可以开始自动构建了,构建过程需要花很长时间(如有没有提前执行gradlew.bat,这里就会下载各种依赖jar包和dom文件)。

中间还经常出现停止不动的情况,按Ctrl+c终止运行,再一次双击import-into-eclipse.bat文件重复上述过程即可(会接着上次构建的位置继续构建),到构建完成后控制台会自动关闭。

最后删除spring-framework下的setting文件夹和project文件,否则eclipse只能导入整体,不能导入每个工程。

导入后的效果:
这里写图片描述

注意:导入后会GroovyBeanDefinitionReader.java会报错。

原因:eclipse没有安装groovy插件,则spring-beans-groovy包中的GroovyBeanDefinitionReader.java会报错,因为eclipse不能编译groovy脚本。
解决方法:在线安装groovy插件
step 1:检查自己的eclipse版本:在help->About Eclipse中查看:
step 2:进入 https://github.com/groovy/groovy-eclipse/wiki查找和自己eclipse对应版本的groovy:
step 3:拷贝下载地址http://dist.springsource.org/snapshot/GRECLIPSE/e4.6/
step 4:打开eclipse,在eclipse中,选择help -> Install New Software…:
step 5:选择add,对话框中name随便写,地址将上面拷贝的地址粘贴进去:
step 6:等待一小会,会出现如下选项,全选后下一步:
step 7:重启eclipse

至此,Spring源码环境搭建完成。

参考资料:
《Spring源码深度解析》
博客:http://www.cnblogs.com/scevecn/p/6043284.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值