一、环境准备

工欲善其事,必先利其器。

在构建spring源码前,我们首先要准备好环境。spring 5.x版本需要jdk1.8及以上版本的支持,jdk版本过低的同学请先升级,这里不做过多累赘。

从spring 5.0开始采用Gradle编译,所以需要先安装gradle,spring 5官方推荐的版本gradle 4.0,下载解压后按以下步骤操作即可。

第一步,配置环境变量。

第二步,添加环境变量“%GRADLE_HOME%\bin”。

第三步,检测环境,输入gradle -v命令,如果版本显示正常,说明安装成功。 

二、源码下载

从Spring 3.0开始,Spring源码采用GitHub托管,不再提供官网下载链接。这里不做过多赘述,大家可自行去GitHub网站下载,我使用的版本为:v5.1.0.RELEASE,下载完成后,解压源码包会看到如下图所示的文件目录。

三、源码编译

第一步,修改镜像(build.gradle)。

repositories {maven { url 'https://maven.aliyun.com/nexus/content/groups/public/'}maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}mavenCentral()maven { url "https://repo.spring.io/libs-spring-framework-build" }
}

  第二步,切换到项目目录,使用 gradlew :spring-oxm:compileTestJava 命令进行编译。

                                               备注:以上报错信息无需关注

常见错误:

1.unauthorized

原因分析及解决方案:

spring.io认证失败,需要登录才能下载,用aliyun仓库替代替,修改setting.gradle。

repositories {maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}mavenCentral()maven { url "https://repo.spring.io/libs-spring-framework-build" }}

  第三步,将源码导入到idea 。

按照以下步骤进行导入,导入后自动进入builder,过程较为漫长,请耐心等待。

file->new->Project from Existing Source.

构建成功

四、测试

第一步,新建模块(项目右键->new->Module)

第二步,添加依赖。

compile(project(":spring-context"))
compile(project(":spring-instrument"))

第三步,编写测试类。

public class User {private Integer id;private String name = "不才";public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
@Configuration
@ComponentScan("com.test.bean")
public class Test {public static void main(String[] args) {ApplicationContext context = new AnnotationConfigApplicationContext(Test.class);User user = context.getBean(User.class);System.out.println(user.getName());}
}

        正常输出,大功告成。

spring - 源码下载与构建相关推荐

  1. spring源码下载编译

    环境准备 spring源码 下载地址: Git->https://github.com/spring-projects/spring-framework.git gitee->https: ...

  2. Spring源码下载与编译

    文章目录 环境准备 Spring源码下载 导入IDEA 测试 环境准备 安装jdk,idea,maven并做好相应配置 操作系统:windows Spring源码下载 Spring源码Github仓库 ...

  3. Spring源码下载与编译,Debug学习才有效率

    这里写自定义目录标题 一.源码下载 1.github源码下载 2.阅读项目编译文档 2.1.项目编译 (1).解压我们下载好的目录 (2).配置阿里云镜像 (3).编译 (4).遇到的坑 2.2.导入 ...

  4. 1.Gradle安装 Spring源码下载(MAC, IDEA)

    前言:作为一个从业两年多的小菜鸟,每天都在面对spring,却从来没有编译过spring源码,没有深入的看过源码 ,感觉有点不太合适.最近突发奇想想研究一下spring源码,那么先从搭环境开始吧 ,此 ...

  5. Wine零知识学习2 —— 源码下载、构建与安装

    一.源码下载 1. 源码下载地址 wine / wine · GitLab 页面如下: 2. 源码下载 使用以下命令下载wine源码(需要事先准备好源码放置目录): git clone https:/ ...

  6. spring源码导入IDEA构建时缺失spring-cglib-repack和spring-objenesis-repack包的解决方案

    今天阅读spring源码,当用idea构建了spring源码后,发现缺失spring-cglib-repack和spring-objenesis-repack这两个依赖. 在项目的build.grad ...

  7. spring 源码下载地址

    https://github.com/spring-projects/spring-framework/tags 引自:http://blog.csdn.net/liulihui1988/articl ...

  8. spring源码导入IDEA构建时报org.springframework.oxm.jaxb.test不存在问题的解决方案(spring-oxm缺少castor和jaxb)

    spring-oxm缺少castor和jaxb 解决方案: 然后重新build一下即可.

  9. Spring源码解析(一)---spring源码的下载编译

    前言 spring是一种开源的轻量级的 Io C 和AOP 的容器框架,具体原理操作配置在本人写的spring框架分类中详细介绍了,spring框架详解.我们知道了如何使用以及它的基本特征,但是对其内 ...

  10. Spring 源码学习一: 使用Gradle 构建Spring 源码环境

    Gradle安装 下载Gradle: https://gradle.org/releases/ 选择安装的版本: 6.x 以上 选择版本后,点击下载. 配置环境变量: unzip gradle-6.8 ...

最新文章

  1. RDKit | 基于Lipinski规则过滤化合物库
  2. SAP LSMW 物料主数据导入毛重净重放大1000倍问题之对策
  3. 205页PPT,看5G+AI引领的下一个时代!
  4. 常用的正则表达式总结
  5. excel怎么设置打印区域_别再浪费打印纸了!这样设置,Excel表格再大都能打印成一页!...
  6. visual studio 2015 配置好qt5后, 第一次运行出现 无法打开源文件“QtWidgets/QApplication”和无法运行rc.exe的解决方案
  7. Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截
  8. [转][整理]Linux下找不到共享库(shared object)
  9. 【月径流预测】基于matlab海洋捕食者算法优化BP神经网络月径流预测【含Matlab源码 2002期】
  10. 美国军方称密切关注量子加密,法国国防部重金投资量子技术
  11. gif一键抠图 在线_免费在线抠图软件
  12. MPEG-TS 格式解析
  13. Qt 图片 等比例显示、放大、缩小、平移图像 显示
  14. oracle当查询没有输出返回0,[数据库] Oracle单表查询总数及百分比和数据横向纵向连接...
  15. p语言是python吗-p语言是python吗
  16. C#中如何将uint16转为int16
  17. 内核小碎碎-第四集 解析dtb
  18. 全国智能网联与无人驾驶职教联盟筹建工作正式开启
  19. NeuroFluid: 流体仿真的人工智能新范式
  20. JDK 12 ,JDK 13 , JDK 14 新特性 详解

热门文章

  1. 中国平面设计指导价格
  2. BXP 3.11样机安装详细说明(转)
  3. 【Python】基于Python的百度迁徙5——实时拥堵与拥堵指数(附代码)
  4. DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常
  5. directx repair_DirectX修复工具(修复程序缺少.dll )一款系统级工具软件
  6. GEO学习笔记-P1-P2
  7. 解析OA系统易用性的价值和意义
  8. 21天c语言 ppt,21天学通C语言 第1章 C语言与程序概述.ppt
  9. 十字链表表示矩阵c语言,十字链表法,十字链表压缩存储稀疏矩阵详解
  10. c语言十七算法,算法精解十七(C语言版)