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. Windows游戏编程之从零开始d

    Windows游戏编程之从零开始d I'm back~~恩,几个月不见,大家还好吗? 这段时间真的好多童鞋在博客里留言说或者发邮件说浅墨你回来继续更新博客吧. woxiangnifrr童鞋说每天都在来 ...

  2. ARM学习笔记3——数据处理指令

    一.数据处理指令概述 1.概念 数据处理指令是指对存放在寄存器中的数据进行处理的指令.主要包括算术指令.逻辑指令.比较与测试指令以及乘法指令 如果在数据处理指令前使用S前缀,指令的执行结果将会影响CP ...

  3. wireshark不仅仅是用来抓包分析网络的;

    凡是不找借口,不排弄推诿理由,提高自我,尽量人事; AIX smit(system manager interface tool); formerly alike; derivatives dpkg ...

  4. phpDesigner 7.2.5 注册码 更改 语法高亮 主题

    注册码: 用户名:www.xiazaiba.com 序列号:43AB0D432A29EE238CCE0F884D84D8A18498498E98298A98568AD05A0B40 验证码:7S2FF ...

  5. Yii PHP 框架分析(四)

    作者:wdy http://hi.baidu.com/delphiss/blog/item/c15b314f05f9dfc0d0c86a26.html Yii应用的入口脚本最后一句启动了WebAppl ...

  6. hihocoder 1077线段树

    http://hihocoder.com/problemset/problem/1077 #include <bits/stdc++.h> using namespace std; #de ...

  7. tomcat部署web项目的方式 转

    JavaWeb开发Tomcat中三种部署项目的方法,开始Java web开发必不可少的步骤,经过查找,觉得有篇文章介绍的不错 1.在conf目录中新建Catalina\localhost目录,在该目录 ...

  8. 大型项目 Gradle 的常用库和版本管理[转]

    http://www.tuicool.com/articles/vqQZBrm 大型项目 Gradle 的常用库和版本管理 时间 2016-03-15 06:44:00  Mystra 原文  htt ...

  9. 【MongoDB】The Access control of mongodb

    In this blog we mainly talk about the access control including limitation of ip, setting listen port ...

  10. FPGA的JTAG下载问题

    前两天做一个工频信号源项目,连续出现两块FPGA板JTAG编程failed现象,不知道原因.网上搜索了下,有帖子说如果是JTAG损坏了,用表笔打TCK,TMS,TDI,TDO,看是否存在和GND短接, ...