原文出处: 分享牛

想对spring框架进行深入的学习一下,看看源代码,提升和沉淀下自己,工欲善其事必先利其器,还是先搭建环境吧。

环境搭建

sping源码之前是svn管理,现在已经迁移到了github中了,新版本基于gradle构建项目。所以构建sping源码环境必须先安装github以及Gradle.
当然了如果不想安装github客户端可以直接去git下载项目:spring中git地址https://github.com/spring-projects/spring-framework

安装github

首先去github官网下载安装包,我用的window环境下载地址:https://desktop.github.com/下载之后双击安装即可,操作比较傻瓜式。
 

安装Gradle

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。下载地址:http://gradle.org/gradle-download/,下载之后将文件解压配置环境变量如下图所示:
  1. 添加GRADLE_HOME F:\gradle-all\gradle-1.6根据自己的文件目录配置。
  2. 添加变量到path中。(这个不用说添加很简单吧)

Gradle目录结构如下图所示:

 

测试是否安装成功:
win+R 进入cmd模式输入命令:gradle -version如果安装成功 出现下图gradle 版本信息:

下载spring(如果没有安装github客户端可以按照下面的github地址直接下载即可)

spring git地址为:https://github.com/spring-projects/spring-framework可以直接下载下来防止命令clone比较慢。如下图所示:
 
打开github或者直接进入gitsehll命名 我的建立在I盘springok文件中
进入springok文件 右键 git bash打开git命名行如下图: 
输入命令:git clone https://github.com/spring-projects/spring-framework 如下图所示:
 

耐心等待吧,比较慢。。
下载完成之后命令界面如下图所示:
下载完成之后 看下下载的目录吧:
ok了,但是默认的这种方式并不是eclipse项目,我们还需要将源码转化为eclipse项目。编译的时候比较慢,因为项目需要的jar包可能需要从网络下载。(我第一次下载编译了4个小时最终搞定)最好能FQ防止下载不下来。怎么编译呢,进入下载的目录打开cmd控制台输入 gradle cleanidea eclipse 开始编译成功之后会提示的,耐心等待吧。
I:\springok\spring-framework
操作步骤如下:
  1. 进入当前的目录:
  2. 命令编译命令为:gradle cleanidea eclipse
编译成功了 成功转化为eclipse项目。
编译可能遇到的问题:
spring编译错误可能出现的错误:
  1. 提示build.gradle 配置文件错误,解决的办法哪里提示错误把哪行注释或者删除即可(大部分原因因为test测试错误去掉不用测试即可)如下图所示:
  2. spring3X系列需要jdk5以上版本,spring4X编译需要jdk8版本,根据自己编译的版本决定。
  3. jar包一直卡着下载不下来(可能网络不好最好能FQ)
 

导入eclipse

批量导入到eclipse后如果出现感叹号或者错误,可能依赖的项目还没有编译缺少那个就编译那个吧,所有依赖的项目编译通过,这个编译的项目也通过。
最终效果:
ok大功告成,开启我们的spring源码学习之旅吧。加油奋斗。

Spring源码的编译、下载和阅读的更多相关文章

  1. 【初学】Spring源码笔记之零:阅读源码

    笔记要求 了解Java语言 了解Spring Framework的基础 会使用Maven 关于本笔记 起因 本职数据分析,为公司内部人员开发数据处理系统,使用了Python/Django+Bootst ...

  2. IDEA阅读spring源码并调试

    目标:搭建起Spring源码阅读和代码调试跟踪的环境,顺便建立一个简单的Demo,能够调试Spring的源代码 本节,主要介绍一下Spring源码阅读和调试的相关环境搭建,并使用MVN创建一个非常简单 ...

  3. Gradle编译Spring源码

    使用工具:JDK1.8.0_11.Gradle4.9.idea2018.1.3 1. 配置Gradle Gradle下载地址:https://gradle.org/releases/ 在下载页找到自己 ...

  4. Spring源码阅读 ------------------- SpringFrameWork 5.2 +IDEA 部署

    Spring作为JAVA学习者的必须学习和熟悉的框架,需要理解Spring的设计原理,核心设计模式,对于理解设计模式,面向对象的深入理解有着深远持久的影响,特此首先要做到本地部署源码开始,下面将介绍如 ...

  5. 全网最新最详细最明白教程之Spring源码搭建,没有之一,超详细

    相关帖子有很多但是都不是最新的Gradle,我在使用Gradle最新版编译的时候简直坑死我了,弄了好久.接下来给大家详细说一下这个安装过程,以及相关的软件版本号. 相关软件.依赖的版本号: Gradl ...

  6. 将spring源码导入到eclipse中

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

  7. spring源码深度解析—Spring的整体架构和环境搭建

    概述 Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.Spring是于2003 年兴起的一个轻量级的Java 开发框 ...

  8. spring 源码解析

    1. [文件] spring源码.txt ~ 15B     下载(167) ? 1 springн┤┬вио╬Ш: 2. [文件] spring源码分析之AOP.txt ~ 15KB     下载( ...

  9. Spring源码 之环境搭建

    1.安装gitHub 在官网https://desktop.github.com/下载githubsetup.exe,在线安装总是出错,试了几次后不成功就放弃了.不知道是不是网络的原因. 后来在网上找 ...

随机推荐

  1. ArcGIS 10——版本编辑流程

    上一篇文章学习了ArcGIS有关版本机制实现的基本原理,本文结合ArcGIS的数据编辑知识来将版本编辑.协调.解决冲突.提交更改的整个过程加以说明. 同上篇文章一样,写作本文的初始意图是因为目前的项目 ...

  2. centos7 centos-home 磁盘转移至centos-root下

    1.查看分区 df -h (centos-home和centos-root每人的名字可能不一样) vgdisplay (查看空闲磁盘大小) 2.备份home分区文件 tar cvf /tmp/home ...

  3. OpenCV Using Python——基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 (光流、场景流)

    https://blog.csdn.net/shadow_guo/article/details/44312691 基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 1. 单目视觉三维重建问题 ...

  4. 在python3下使用OpenCV 显示图像

    在Python3下用使用OpenCV比在C,C++里开发不止快捷一点点, 原型开发的时候蛮有用. 这里用的OpenCV 加载图片, 用的imshow画图 # -*- coding: utf-8 -*- ...

  5. JS中怎么调用<%%>的值

    JS中怎么调用<%%>的值 示例代码一: <% String usercode = request.getParameter("usercode");//用req ...

  6. JavaScript 创建动态表格

    JavaScript 创建动态表格 版权声明:未经授权,严禁转载! 案例代码 <div id="data"></div> <script> va ...

  7. 20145127《java程序设计》第二次实验

    一.实验内容及其步骤 1.要想对某个程序进行单元测试,我们先是在eclipse中建立了一个新的项目,项目的名字是TDDDmeo.并在这个新的项目里右键单击创建一个source floder.并将flo ...

  8. Ruby基础教程

    一.Ruby基础知识 1.关于Ruby Ruby是脚本语言 Ruby是面向对象语言 Ruby是跨平台语言 Ruby是开放源码软件 2.Ruby入门书籍推荐 <Ruby.Programming向R ...

  9. POJ 2155 Matrix (二维树状数组)题解

    思路: 没想到二维树状数组和一维的比只差了一行,update单点更新,query求和 这里的函数用法和平时不一样,query直接算出来就是某点的值,怎么做到的呢? 我们在更新的时候不止更新一个点,而是 ...

  10. 2017 ACM/ICPC 新疆赛区 I 题 A Possible Tree 带权并查集

    传送门 题意:给定一棵带权树的形态, 但是并不知道每天条边的具体权重. 然后给m个信息, 信息格式为u v val, 表示在树上u 到 v 的路径上经过的边的权重的异或和为val, 问前面最多有多少个 ...