spring源码分析(一)- 源码下载和导入eclipse
来源:互联网 发布:js 清空数组 clear 编辑:程序博客网 时间:2024/06/05 07:08
Spring的源码已经从svn迁移到了GitHub,并且由之前的Ant+Lvy系统改为Gradle来构建项目,所以下载源码之前首先得安装GitHub和Gradle。
1.安装GitHub
首先到GitHub官网下载Windows的安装包,地址:https://desktop.github.com/ ,下载完成后双击安装。安装成功后,可以在开始菜单中看到GitHub的文件。
2.安装Gradle
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。使用Groovy来编写构建脚本。强大的支持多工程的构建,强大的依赖管理(基于Apache Ivy),提供最大的便利去构建你的工程。用处这里就不多说了。
下载地址:http://gradle.org/gradle-download/ ,下载后把文件解压,然后根据解压的路径,配置环境变量:创建GRADLE_HOME系统变量,然后加入到path中。
3.下载Spring
因为Spring的源码已经迁移到GitHub并管理,所以可以用GitHub的Git Shell下载,具体这里就不多做教程了。
现在的企业大部分还是停留在Spring3.2的版本,所以这里就以3.2为教材。GitHub地址:https://github.com/spring-projects/spring-framework/tree/3.2.x
本人比较懒,直接点击zip下载,还比较快,哈哈。
下载完后可以看到目录结构:
这样的源码是不可以直接打入Eclipse的,所以需要做转换。本人试过几种办法,有使用单个项目转换的命令"gradle cleanidea eclipse" ,但是未尝试成功,所以用了最普遍的方法,一次性编译。方法就是运行下载源码中的 import-into-eclipse.bat,根据提示按任意键2次就可以开始编译了。由于编译时需要下载以来的jar包,会比较慢,至少需要几个小时,而且中间会下载不动,这时候需要手动ctrl+c 终止运行,然后继续双击bat文件运行,继续编译(从上次终止的地方),有时候还会闪退,并不代表成功。编程100%之后还会确认几步操作。成功后源码中会有classpath和project文件,如图所示:
编译完成后项目就可以导入eclipse中了。个人建议一个个项目导入,需要学习哪个导入哪个源码,例如我想学习spring-tx的源码,我就在eclipse中导入tx。
导入完成后会报错,项目上会有个感叹号,查看引用是否正确,jar包没问题,project都是红叉,有的项目是互相依赖的,如图所示:
有2种办法,第一种就是把这几个项目继续导入,第二个就是引用这些项目的jar包。为了方便阅读学习我选择第一种。
这样就搭好了学习的环境。接下来就可以学习了。
- spring源码分析(一)- 源码下载和导入eclipse
- Spring源码解析--(一:源码导入Eclipse)
- Tomcat源码解析(一)下载源码与导入eclipse
- Tomcat源码解析(一)下载源码与导入eclipse
- Tomcat源码解析(一)下载源码与导入eclipse
- spring源码分析一、源码下载
- spring framework源码下载并导入eclipse
- spring framework源码下载并导入eclipse
- spring framework源码下载并导入eclipse
- spring framework源码下载并导入eclipse
- spring framework源码下载并导入eclipse
- spring framework源码下载并导入eclipse
- spring framework源码下载并导入eclipse
- spring framework源码下载并导入eclipse
- 下载spring源码并导入eclipse
- spring framework源码下载并导入eclipse
- spring framework源码下载并导入eclipse
- spring framework源码下载并导入eclipse
- Hadoop API 使用介绍
- 使用通知选择城市
- php常用函数之-日期函数
- 《七天七语言》之Ruby练习1
- JMS与MQ详解
- spring源码分析(一)- 源码下载和导入eclipse
- 如何获取bind绑定的端口号
- 抽象工厂模式
- ABAP中,利用函数WS_DELIVERY_UPDATE进行VL02N发货过账时获取凭证号(mblnr)
- EasyDarwin自动停止推流
- leetcode 6. ZigZag Conversion-Zizag转换
- Oracle合并行的使用介绍
- IOS NSDate日期操作总结
- 【吐槽系列】如何用最贱蛋的方式将web程序变为桌面应用