• Spring源码的编译、下载和阅读


    原文出处: 分享牛

    想对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-allgradle-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个小时最终搞定)最好能翻墙防止下载不下来。怎么编译呢,进入下载的目录打开cmd控制台输入 gradle cleanidea eclipse 开始编译成功之后会提示的,耐心等待吧。
    I:springokspring-framework
    操作步骤如下:
    1. 进入当前的目录:
    2. 命令编译命令为:gradle cleanidea eclipse 
    编译成功了 成功转化为eclipse项目。
    编译可能遇到的问题:
    spring编译错误可能出现的错误:
    1. 提示build.gradle 配置文件错误,解决的办法哪里提示错误把哪行注释或者删除即可(大部分原因因为test测试错误去掉不用测试即可)如下图所示:
    2. spring3X系列需要jdk5以上版本,spring4X编译需要jdk8版本,根据自己编译的版本决定。
    3. jar包一直卡着下载不下来(可能网络不好最好能翻墙)
     

    导入eclipse

    批量导入到eclipse后如果出现感叹号或者错误,可能依赖的项目还没有编译缺少那个就编译那个吧,所有依赖的项目编译通过,这个编译的项目也通过。
    最终效果:
    ok大功告成,开启我们的spring源码学习之旅吧。加油奋斗。
  • 相关阅读:
    使用 Dockerfile 定制镜像
    UVA 10298 Power Strings 字符串的幂(KMP,最小循环节)
    UVA 11090 Going in Cycle!! 环平均权值(bellman-ford,spfa,二分)
    LeetCode Best Time to Buy and Sell Stock 买卖股票的最佳时机 (DP)
    LeetCode Number of Islands 岛的数量(DFS,BFS)
    LeetCode Triangle 三角形(最短路)
    LeetCode Swap Nodes in Pairs 交换结点对(单链表)
    LeetCode Find Minimum in Rotated Sorted Array 旋转序列找最小值(二分查找)
    HDU 5312 Sequence (规律题)
    LeetCode Letter Combinations of a Phone Number 电话号码组合
  • 原文地址:https://www.cnblogs.com/panchanggui/p/9394760.html
Copyright © 2020-2023  润新知