spring - 源码下载与构建
一、环境准备
工欲善其事,必先利其器。
在构建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 - 源码下载与构建相关推荐
- spring源码下载编译
环境准备 spring源码 下载地址: Git->https://github.com/spring-projects/spring-framework.git gitee->https: ...
- Spring源码下载与编译
文章目录 环境准备 Spring源码下载 导入IDEA 测试 环境准备 安装jdk,idea,maven并做好相应配置 操作系统:windows Spring源码下载 Spring源码Github仓库 ...
- Spring源码下载与编译,Debug学习才有效率
这里写自定义目录标题 一.源码下载 1.github源码下载 2.阅读项目编译文档 2.1.项目编译 (1).解压我们下载好的目录 (2).配置阿里云镜像 (3).编译 (4).遇到的坑 2.2.导入 ...
- 1.Gradle安装 Spring源码下载(MAC, IDEA)
前言:作为一个从业两年多的小菜鸟,每天都在面对spring,却从来没有编译过spring源码,没有深入的看过源码 ,感觉有点不太合适.最近突发奇想想研究一下spring源码,那么先从搭环境开始吧 ,此 ...
- Wine零知识学习2 —— 源码下载、构建与安装
一.源码下载 1. 源码下载地址 wine / wine · GitLab 页面如下: 2. 源码下载 使用以下命令下载wine源码(需要事先准备好源码放置目录): git clone https:/ ...
- spring源码导入IDEA构建时缺失spring-cglib-repack和spring-objenesis-repack包的解决方案
今天阅读spring源码,当用idea构建了spring源码后,发现缺失spring-cglib-repack和spring-objenesis-repack这两个依赖. 在项目的build.grad ...
- spring 源码下载地址
https://github.com/spring-projects/spring-framework/tags 引自:http://blog.csdn.net/liulihui1988/articl ...
- spring源码导入IDEA构建时报org.springframework.oxm.jaxb.test不存在问题的解决方案(spring-oxm缺少castor和jaxb)
spring-oxm缺少castor和jaxb 解决方案: 然后重新build一下即可.
- Spring源码解析(一)---spring源码的下载编译
前言 spring是一种开源的轻量级的 Io C 和AOP 的容器框架,具体原理操作配置在本人写的spring框架分类中详细介绍了,spring框架详解.我们知道了如何使用以及它的基本特征,但是对其内 ...
- Spring 源码学习一: 使用Gradle 构建Spring 源码环境
Gradle安装 下载Gradle: https://gradle.org/releases/ 选择安装的版本: 6.x 以上 选择版本后,点击下载. 配置环境变量: unzip gradle-6.8 ...
最新文章
- RDKit | 基于Lipinski规则过滤化合物库
- SAP LSMW 物料主数据导入毛重净重放大1000倍问题之对策
- 205页PPT,看5G+AI引领的下一个时代!
- 常用的正则表达式总结
- excel怎么设置打印区域_别再浪费打印纸了!这样设置,Excel表格再大都能打印成一页!...
- visual studio 2015 配置好qt5后, 第一次运行出现 无法打开源文件“QtWidgets/QApplication”和无法运行rc.exe的解决方案
- Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截
- [转][整理]Linux下找不到共享库(shared object)
- 【月径流预测】基于matlab海洋捕食者算法优化BP神经网络月径流预测【含Matlab源码 2002期】
- 美国军方称密切关注量子加密,法国国防部重金投资量子技术
- gif一键抠图 在线_免费在线抠图软件
- MPEG-TS 格式解析
- Qt 图片 等比例显示、放大、缩小、平移图像 显示
- oracle当查询没有输出返回0,[数据库] Oracle单表查询总数及百分比和数据横向纵向连接...
- p语言是python吗-p语言是python吗
- C#中如何将uint16转为int16
- 内核小碎碎-第四集 解析dtb
- 全国智能网联与无人驾驶职教联盟筹建工作正式开启
- NeuroFluid: 流体仿真的人工智能新范式
- JDK 12 ,JDK 13 , JDK 14 新特性 详解
热门文章
- 中国平面设计指导价格
- BXP 3.11样机安装详细说明(转)
- 【Python】基于Python的百度迁徙5——实时拥堵与拥堵指数(附代码)
- DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常
- directx repair_DirectX修复工具(修复程序缺少.dll )一款系统级工具软件
- GEO学习笔记-P1-P2
- 解析OA系统易用性的价值和意义
- 21天c语言 ppt,21天学通C语言 第1章 C语言与程序概述.ppt
- 十字链表表示矩阵c语言,十字链表法,十字链表压缩存储稀疏矩阵详解
- c语言十七算法,算法精解十七(C语言版)