1. 本例spring源码版本是4.3.0的,

    1. 所以jdk需要准备1.8的(不同版本源码要求的jdk不一样)
    2. 1.8版本myeclipse10无编译环境,只有运行环境,出现点问题,下载最新版本的Eclipse Jee Neon
  2. github

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

  1. 下载

 Windows 系统对应的 GitHub 版本下载地址为: https://desktop.github.com/ 。如图所示:

  1. 安装

  1. 点击安装包

  1. 开始安装

  2. 下载安装文件

  3. 安装完成之后自动打开登陆界面(不需要,用不着)
  4.  

  5. 登陆github(不需要,用不着)

    1. 结果

    下载、安装,开始菜单上 GitHub 菜单,如图:

      

  • 不依赖其他模块:本附件配置将以第三方插件包的形式提供使用,它应该作为依赖关系的底层被依赖,而不能依赖其他业务模块。(DNA核心除外)
  • 扩展灵活:提供统一框架,满足各个项目的个性化附件配置需求。
  1. Gradle

  Gradle 是一个基于 Groovy 的构建工具,它使用 Groovy 来编写构建脚本,支持依赖管理和多项目创建,类似 Maven,但比其更加简单轻便。

  Gradle 为 Ivy 提供了一个 layer,提供了 build-by-convention 集成,而且他还让你获得许多类似 Maven 的功能。

  1. 下载

Gradle 的下载地址是:http://www.gradle.org/downloads 作为初学者建议选择包含文档和样例源码的压缩文件较好,将下载文件解压。如果你下载的是gradle-xx-all.zip的完整包,它会有以下内容:二进制文件用户手册(包括PDF和HTML两种版本),DSL参考指南,API手册(包括Javadoc和Groovydoc),样例源代码,仅供参考使用。

  1. 配置环境变量

在windows中的Gradle配置:在环境变量对话框中,定义环境变量GRADLE_HOME到你的gradle根目录当中,然后修改环境变量 Path,即追加 %GRADLE_HOME%\BIN;(linux或mac的是$GRADLE_HOME/bin)。

  1. 检查

配置完成之后,当完成系统变量的配置后打开命令窗口输入命令 " gradle -version ",如果出现Gradle对应的版本信息,表示安装成功。

        

  1. Spring源码下载

    1. 直接网站下(这个可以,选择需要的版本源码,三选一)

下载地址:https://github.com/SpringSource/spring-framework/tags/

选择需要的版本下载zip即可。

  1. svn (地址都有了用啥下都一样了,三选一)

下载地址:https://github.com/SpringSource/spring-framework/tags/

Window-->Open Perspective -->SVN资源库研究把源码用svn checkout到本地磁盘

  1. 使用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的源码地址。执行命令后便进入源码下载状态。

  经过一段时间的等待后源码下载结束,窗口状态如下图

  而这时,对应的文件夹下已经存在相应的源码信息,如下图所示。

 

  1. Spring源码构建

使用gradle构建项目

  当前的源码并不可以直接导入 Eclipse 中,我们还需要将源码转换为 Eclipse 可以读取的形式。

  1. 单个工程构建(二选一,不推荐)

可以只对感兴趣的工程进行 Eclipse 工程转换,比如我们想要查看 Spring 事务部分的源码,打开命令窗口,将当前目录切换至源码所在目录,这里是 Spring-tx文件夹下,执行命令 gradle cleanidea eclipse 。当窗口出现如下状态说明已经开始执行转换过程,如下图:

经过一段时间后转换成功,如下图所示、

这时,我们再查看对应的文件夹会发现,已经出现了作为 Eclipse 工程所必须的 .project 和 .classpath 文件了,如下图所示

没有编译过的

编译之后的

打开 Eclipse,将工程导入,导入后目录结构如下图

你会发现工程名称前面有一个感叹号,这说明项目存在错误。查看依赖及工程,会看到当前工程所依赖的包出现问题。如下图

 但是,查看依赖的 Projects 时发现

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

依赖的包出现问题,后边解决。

  1. 批量构建(二选一,推荐虽然时间长,但是减少导入后整理jar包的工作)

可以将所有工程一次性的编译、导入。但是不推荐这样的方式,这样会耗费大量的时间,而且当存在编译错误的时候,你不得不重新编译。

  1. gradlew.bat(预构建)

pring-framework目录里面有一个gradlew.bat批处理文件,双击出现控制台界面,连续按两次回车键,下载各种依赖jar包和dom文件,公司外网不好,用了几个小时,没下下来,这就尴尬了。

  1. 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只能导入整体,不能导入每个工程。

  1. Spring构建后的问题

    1. 依赖的包出现问题(发现批量构建成功后不会报这个错误)

暂时遇到:缺失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/ (可能会很慢)

  1. 提取

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

在cmd命令窗口下切换到上一步的目录下,

使用jar命令生成需要的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

  1. 检查是否生成

查看当前目录E:\spring\code\spring-framework-4.3.0.RELEASE-dist\spring-framework-4.3.0.RELEASE\libs\spring-core-4.3.0.RELEASE下确实生成了需要的jar文件

验证一下生成的jar包的目录结构是否正确(因为第一次操作的时候不注意,导致虽然包打好了,但是目录结构不对,最终不能使用)

  1. GroovyBeanDefinitionReader.java会报错

如果eclipse没有安装groovy插件,则spring-beans-groovy包中的GroovyBeanDefinitionReader.java会报错,因为eclipse不能编译groovy脚本。

报错信息:

Description Resource Path Location Type

GroovyDynamicElementReader cannot be resolved to a type    

GroovyBeanDefinitionReader.java    /spring-beans-groovy/src/main/java/org/springframework/beans/factory/groovy    line 391    Java Problem

Groovy 下载地址:http://groovy-lang.org/download.html

  1. 安装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:等待一小会,会出现如下选项,全选后下一步:

  1. 重启

重启eclipse,然后clean一下项目就搞定了。

  1. Spring构建后的问题

    在Eclipse菜单File->import选择General下面的Exsiting projects into workspace

  1. 参考借鉴

Spring环境搭建--Spring源码深度解析:

http://www.cnblogs.com/chuzh/p/4996976.html

Spring官网下载dist.zip的几种方法:

http://www.cnblogs.com/yjmyzz/p/3847364.html

spring源码构建时缺失spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar:

http://www.itdadao.com/articles/c15a711547p0.html

spring源码gradle获得eclipse工程时,spring-beans-groovy项目GroovyDynamicElementReader报错解决

http://blog.csdn.net/smithdoudou88/article/details/46356305

spring源码_下载以及转入eclipse (2016-11-08)的更多相关文章

  1. Spring源码研究--下载-编译-导入eclipse-验证

    一,环境配置 操作系统:Unbutu14.04LTS JDK: 1.8.0_40 git: 1.9.1 gradle: 2.2.1 二,源码下载-编译-导入eclipse-验证 1,下载 使用git直 ...

  2. 如何编译spring源码,并导入到eclipse中

    wsc@WSC-PC /d/wsc/study-spring-source$ git clone https://github.com/spring-projects/spring-framework ...

  3. 转 Spring源码剖析——核心IOC容器原理

    Spring源码剖析——核心IOC容器原理 2016年08月05日 15:06:16 阅读数:8312 标签: spring源码ioc编程bean 更多 个人分类: Java https://blog ...

  4. Spring源码剖析依赖注入实现

    Spring源码剖析——依赖注入实现原理 2016年08月06日 09:35:00 阅读数:31760 标签: spring源码bean依赖注入 更多 个人分类: Java   版权声明:本文为博主原 ...

  5. 将spring源码导入到eclipse中

    前置条件: 1. 正确安装jdk,并配置好JAVA_HOME.PATH.(我这里安装的是jdk1.8) 2. 正确安装好eclipse.(我的eclipse版本是: Neon Release (4.6 ...

  6. spring源码学习(一):eclipse导入spring源码

    前言 对于一门技术,我们最先是了解它(what),然后再熟练的使用它(how)以及何时用它(when),最后肯定要看透它(why).spring作为Java开发人员可以说是最熟悉不过的了,基本每个Ja ...

  7. 问题.spring源码转换为eclipse遇到的问题

    1.下载spring源码 2.下载安装gradle,配置环境变量 3.在spring子项目下执行命令:gradle cleanidea eclipse,会生成对应的.project及.classpat ...

  8. 如何将spring源码导入到eclipse中

    如何将spring源码导入到eclipse中 1. 下载spring源码  可以在github官网中找到spring源码来下载,或者直接通过git下载,是一样的,这里演示 直接在github网站下载, ...

  9. Spring源码分析——源码分析环境搭建

    1.在Windows上安装Gradle gradle工具类似于maven,用于项目的构建,此处主要用于构建spring源码,以便我们将spring源码导入eclipse. 开发环境 Java:JDK8 ...

随机推荐

  1. Get familiar with key Frameworks of ios

    Frameworks make your life easier as an iOS Developer. They allow you to reuse code written by other ...

  2. VirtualBox安装Ghost XP

    http://jingyan.baidu.com/album/5d368d1e1a88b73f60c05721.html?picindex=1

  3. Linux的文件属性

    在Linux中,文件的拥有者可以将文件的属性设置成三种属性,可读(r).可写(w)和可执行(x).文件又分为三个不同的用户级别,文件的拥有者(u),文件的所属组(g),其他用户(o). 第一个字符显示 ...

  4. Linux 上的游戏 Supertuxkart

    Linux 上玩游戏 Supertuxkart 中午休息的时候,打开Supertuxkart游戏,这个是GNU下的一款3D赛车游戏,制作精美,玩法简单.最有趣的是,我连接笔记本的外接键盘被侦测出来是M ...

  5. SEO为什么要求网页设计师用DIV+CSS布局网页?

    问:SEO为什么要求网页设计师用DIV+CSS布局网页? 答:通常情况下,SEOer非常喜欢把一个网站做到最细节,在网页设计方面,有时与设计师沟通时,通常会问到:SEO为什么要求网页设计师用DIV+C ...

  6. jmeter参数化数据(_csvread函数、用户自定义变量等)

    以下是转载内容,仔细看过后,觉得用得最多的应该是csvread函数.用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中怎么查看执行结果是个问题,没找到对 ...

  7. 微软称iPad版Office必来临 目前在完善中

    [PConline 资讯]微软在今年6月份的时候面向iPhone发布了Office,同时需要用户注册Office 365.而鲍尔默今天在参加Garnter科技研讨会时透露,iPad版本的Office始 ...

  8. 修改Tomcat 6 默认的ROOT

    1.找到conf/server.xml. 2.找到Host节点. 3.在该节点中添加子节点<Context path="" docBase="项目名称" ...

  9. 假设但是学习java入门,请离开SSH稍远

    我觉得有点累了步行上班,我想买一辆自行车.结果去了一看,想2500片.旁边的人说,2500所有最好加一些钱,买一挖电. 遂问电动车价格,3500,决定买.却被告知不如加点钱买小踏板摩托划算.于是看摩托 ...

  10. Spring Mvc和Mybatis的多数据库访问配置过程

    Spring Mvc 加Mybatis的多数据库访问源配置访问过程如下: 在applicationContext.xml进行配置 <?xml version="1.0" en ...