一、从 github上下载Spring源码到本机

二、利用 Gradle 编译 Spring 源码

  环境:

    - Spring源码版本:spring-framework-4.3.x

    - Gradle版本:gradle-4.3

    - Java版本:jdk1.8.0_65

    - Win 7

  重点:Jdk版本很重要,一定要jdk1.8,这个是我亲自测试过的,其他版本的jdk,执行gradle会报jdk版本的异常

  安装Gradle

   1、下载 Gradle 

   2、解压下载的文件 gradle-4.3-all.zip

   3、配置环境变量

    

  用Gradle 编译Spring源码

    1、进入spring-framework-4.3.x后,在目录下找到gradlew.bat

    2、双击gradlew.bat,等待片刻,命令执行完毕(最好开着FQ软件,防止下载超时而失败)

    3、在目录下找到找到 import-into-eclipse.bat

    4、双击import-into-eclipse.bat

    

    一切正常的话,开始编译项目。因为spring项目是由很多模块组成的,比如core、aop、beans等。如果非必要的话,建议一个个项目进行编译。比如我先编译spring-beans模块

    首先进入spring-beans项目路径中, 执行gradle命令:gradle cleanIdea eclipse。等待几分钟后,如果顺利的话,会打印出 BUILD SUCCESSFUL

  然后你就可以把源码导入到你的Eclipse中了

三、问题:

  在执行 gradle cleanIdea eclipse 的时候出现了一个异常  java.lang.NoClassDefFoundError: org/gradle/listener/ActionBroadcast

    怎么解决的呢?打开源码目录下的 build.gradle 文件,  原来version 是 1.1 改成 2.5 就好了

参考:

【1】博客,https://blog.csdn.net/xiongyouqiang/article/details/78388834

【2】个人博客,https://donaldhan.github.io/springframework/2017/12/13/%E5%A6%82%E4%BD%95%E4%BB%8Egithub%E4%B8%8A%E6%8B%89%E5%8F%96Spring-framwork%E6%BA%90%E7%A0%81%E9%A1%B9%E7%9B%AE-%E5%B9%B6%E5%AF%BC%E5%85%A5%E5%88%B0eclipse.html

spring-如何将spring源码成功导入Eclipse中的更多相关文章

  1. Openfire4源码部署到eclipse中并编译

    Openfire4源码部署到eclipse中并编译 概述 Openfire是众所周知的基于xmpp协议的IM开源服务,所有操作,配置,监控,调试等以B/S方式进行展示,非常的方便管理员进行管理.它的强 ...

  2. grable编译spring源码并导入eclipse

    1.下载安装gradle, spring 源码构建加入了gradle支持. gradle下载: http://www.gradle.org/downloads ,下载后设置环境变量: GRADLE_H ...

  3. Apache Flume 1.7.0 源码编译 导入Eclipse

    前言 最近看了看Apache Flume,在虚拟机里跑了一下flume + kafka + storm + mysql架构的demo,功能很简单,主要是用flume收集数据源(http上报信息),放入 ...

  4. svn工具安装下载Tomcat源码以及导入eclipse

    安装 1.svn下载地址 https://tortoisesvn.net/downloads.html 2.语言包下载 3.先安装svn,在直接安装语言包 4.桌面右键可以看到相关svn信息 下载To ...

  5. JMeter源码集成到Eclipse

    由于JMeter纯Java开发,界面也是基于Swing或AWT搞出来的,所以想更深层次的去了解这款工具或对于想了解JMeter插件开发或二次开发的童鞋们来说,读读JMeter的源码估计是必不可少的,所 ...

  6. spring 源码如何导入到eclipse

    spring 源码如何导入到eclipse spring源码解析——spring源码导入eclipse spring framework源码下载并导入eclipse

  7. Spring框架之spring-webmvc源码完全解析

    Spring框架之spring-webmvc源码完全解析 Spring框架提供了构建Web应用程序的全功能MVC模块.Spring MVC分离了控制器.模型对象.分派器以及处理程序对象的角色,支持多种 ...

  8. Spring框架之事务源码完全解析

    Spring框架之事务源码完全解析   事务的定义及特性: 事务是并发控制的单元,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务将逻辑相关的一组操作绑定在一 ...

  9. Spring Cloud 学习 之 Spring Cloud Eureka(源码分析)

    Spring Cloud 学习 之 Spring Cloud Eureka(源码分析) Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 ...

随机推荐

  1. 第12章:MongoDB-CRUD操作--文档--查询--游标详解

    ①是什么游标 游标不是查询结果,可以理解为数据在遍历过程中的内部指针,其返回的是一个资源,或者说数据读取接口. 客户端通过对游标进行一些设置就能对查询结果进行有效地控制,如可以限制查询得到的结果数量. ...

  2. MODULE_DEVICE_TABLE 的作用

    pci_device_id,PCI设备类型的标识符.在include/linux/mod_devicetable.h头文件中定义.struct pci_device_id {        __u32 ...

  3. 编译时:virtual memory exhausted: Cannot allocate memory,常见于VPS

    原文链接:http://blog.csdn.net/taiyang1987912/article/details/41695895 一.问题 当安装虚拟机时系统时没有设置swap大小或设置内存太小,编 ...

  4. java读取excel文件(.xls,xlsx,csv)

    前提,maven工程通过poi读写excel文件,需要在pom.xml中配置依赖关系: 在<dependencies>中添加如下代码 <dependency> <grou ...

  5. VC中C++数值范围的确定

    1. Visual C++ 32 位和 64 位编译器可识别本文后面的表中的类型. 如果其名称以两个下划线 (__) 开始,则数据类型是非标准的. 下表中指定的范围均包含起始值和结束值. 类型名称 字 ...

  6. 《mysql必知必会》学习_第10章_20180731_欢

    第10章,计算字段. P64 select concat (vend_name,'(',vend_country,')') from vendors order by vend_name; # 拼接, ...

  7. hdu 4920

    http://acm.hdu.edu.cn/showproblem.php?pid=4920 给定两个n阶矩阵,求矩阵相乘后模3. 直接搞肯定会超时 特殊处理1和2的情况 实际上是水过的..... 貌 ...

  8. jQuery插件初级练习2答案

    html: $.font($("p"),"30px").html("变化了") jQuery: $.extend({ font:functi ...

  9. hive 桶表

    转自:https://blog.csdn.net/csdnliuxin123524/article/details/81052974 桶表(bucket table): 原理: 分区表是按照经常查询的 ...

  10. ASP.NET Web API 异常处理 HttpResponseException 以及Angularjs获取异常信息并提示

    一.HttpResponseException 如果一个Web API控制器抛出一个未捕捉异常,默认地,大多数异常都会被转化成一个带有状态码“500 – 内部服务器错误”的HTTP响应.HttpRes ...