一、从 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. 使用vue,react,angular等框架和不使用框架使用jquery的优缺点

    jquery和vue react等框架有着本质上的区别,从jquery到vue.react 或者说是到mvvm的转变,是一个思想的转变,是将原有的直接操作dom的思想转变到操作数据上去. vue更关注 ...

  2. 解决普通用户sudo时出现/usr/bin/sudo must be owned by uid 0 and have the setuid bit set

    一:因为之前误操作使用sudo chmod -R 777 /usr命令修改了usr文件的所有者导致了此问题: 二:网上说需要进入recovery mode,经过自己的测试是不需要的: 三:步骤(只需登 ...

  3. Windows下Python安装: requires numpy+mkl 和ImportError: cannot import name NUMPY_MKL

    最近写了一篇关于“微软开源分布式高性能GB框架LightGBM安装使用”的文章,有小伙伴安装Python环境遇到了问题.我个人也尝试安装了一下,确实遇到了很多问题."Windows7下pyt ...

  4. Hibernate利用JDBC批操作

    @org.junit.Test public void testBatch() { session.doWork(new Work() { @Override public void execute( ...

  5. x11 VNC远程桌面

    Ubuntu远程桌面,类似于qq远程桌面(Ubuntu没有内置桌面系统吗?) $ sudo apt-get update $ sudo apt-get install x11vnc $ x11vnc ...

  6. day34(注解)

    注解 注解和注释的区别: 注释:是给程序员看的. 注解:是给虚拟机识别的. 注解的作用: 1.代替配置文件 2.标识一个方法,代替一个特殊功能. JDK当中的提供的注解: 标识重写方法 @Overri ...

  7. 20155326 2017-2018-1 《信息安全系统设计基础》第2周学习及课堂总结myod

    20155326 2017-2018-1 <信息安全系统设计基础>第1次学习及课堂总结myod 虚拟机之前出了一些问题,然后我重新弄了一个新的虚拟机. 先在虚拟机里面安装了git. 安完以 ...

  8. ES版本控制

    版本控制 ElasticSearch采用了乐观锁来保证数据的一致性,也就是说,当用户对document进行操作时,并不需要对该doucument作加锁和解锁的操作,只需要指定要操作的版本即可.当版本号 ...

  9. AngularJS 单元测试 Karma jasmine

    当AngularJS项目越来越大时候,需要进行单元测试,可以先开发功能再进行测试,也可以先进行测试. 一.karma  是一个基于Node.js(先要安装)的JavaScript测试执行过程管理工具( ...

  10. poj2828 线段树单点更新

    Buy Tickets Time Limit: 4000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java ...