Spring源码编译步骤

news2024/11/25 3:02:35

Spring源码学习

一、Gradle

为什么下载gradle呢?我们平时不都是用maven吗?原因只有一个,spring源码是用gradle构建的,所以,你想看spring源码必须安装和学会使用gradle,那么,让我们开始gradle之旅吧,我也是一个gradle小白,边学边记吧,加油吧少年,机会是给有准备的人,相信你就是那一个!!!

1. Gradle下载

官网下载:https://gradle.org/releases/
极速下载All版本:https://blog.csdn.net/ii950606/article/details/109105402

2. Gradle环境变量配置

此电脑“右键”弹出框如下图所示:
在这里插入图片描述
,点击“属性”,打开“设置”对话框,如下图所示:
在这里插入图片描述
,点击“高级系统设置”弹出“系统属性”对话框,如下图所示:
在这里插入图片描述
点击“环境变量”打开“环境变量”设置对话框,如下图所示:
在这里插入图片描述
配置下载的gradle解压后的免安装包路径并点击确定;配置path路径,如下图所示:
在这里插入图片描述

3. 验证gradle是否成功

打开cmd窗口,输入:gradle -v;如果出现版本号说明gradle配置成功
在这里插入图片描述

4. 配置国内镜像地址

在gradle根目录下的init.d文件夹下,新建init.gradle文件,并配置如下内容:

allprojects {
    repositories {
        mavenLocal()
        maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }
        maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" }
        mavenCentral()
    }

    buildscript { 
        repositories { 
            maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }
            maven { name "Bstek" ; url 'http://nexus.bsdn.org/content/groups/public/' }
            maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
        }
    }
}

二、编译spring源码

1. 下载spring源码

官方git地址:

https://github.com/spring-projects/spring-framework.git

在这里插入图片描述
根据自己实际情况,下载自己需要学习的版本即可。
极速下载地址:

https://gitcode.com/mirrors/spring-projects/spring-framework.git

下载的源码根目录下的import-into-idea.md文档中已经详细说明了导入的步骤。
在这里插入图片描述

2. gradle编译spring源码

2.1 执行构建命令

gradlew :spring-oxm:compileTestJava

2.2 Idea 打开spring源码工程

File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
等待构建成功即可,就可以开始我们的spring源码之旅了,加油,少年!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1170954.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RabbitMQ】 RabbitMQ 消息的延迟 —— 深入探索 RabbitMQ 的死信交换机,消息的 TTL 以及延迟队列

文章目录 一、死信交换机1.1 什么是死信和死信交换机1.2 死信交换机和死信队列的创建方式 二、消息的 TTL2.1 什么是消息的 TTL2.2 基于死信交换机和 TTL 实现消息的延迟 三、基于 DelayExchang 插件实现延迟队列3.1 安装 DelayExchang 插件3.2 DelayExchang 实现消息延迟的原理…

通讯录(C语言文件版本)(超详细过程)

❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️ ❇️❇️❇️❇️ 不同的信念 ❇️❇️❇️❇️ ❇️❇️❇️ 决定不同的命运 ❇️❇️❇️ ❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️ &#x1f4d6;通讯录 ✅具备的功能 ℹ️需要的头文件名 #include<…

二叉树按二叉链表形式存储,试编写一个判别给定二叉树是否是完全二叉树的算法

完全二叉树&#xff1a;就是每层横着划过去是连起来的&#xff0c;中间不会断开 比如下面的左图就是完全二叉树 再比如下面的右图就是非完全二叉树 那我们可以采用层序遍历的方法&#xff0c;借助一个辅助队列 当辅助队列不空的时候&#xff0c;出队头元素&#xff0c;入队头…

开发知识点-PHP从小白到拍簧片

从小白到拍簧片 位异或运算&#xff08;^ &#xff09;引用符号(&)strlen() 函数base64_encode预定义 $_POST 变量session_start($array);操作符php 命令set_time_limit(7200)isset()PHP 命名空间(namespace)new 实例化类extends 继承 一个类使用另一个类方法error_reporti…

如何利用Jmeter从0到1做一次完整的压测?这2个步骤很关键!

压测&#xff0c;在很多项目中都有应用&#xff0c;是测试小伙伴必备的一项基本技能&#xff0c;刚好最近接手了一个小游戏的压测任务&#xff0c;一轮压测下来&#xff0c;颇有收获&#xff0c;赶紧记录下来&#xff0c;与大家分享一下&#xff0c;希望大家能少踩坑。 一、压…

ADO实战指南

这里写目录标题 ADO概念ADO主要对象对象间的相互联系对象模型示意图 关键代码关于代码中的一些问题设置字符串连接对象OLE DB是什么&#xff1f;与ADO的关系是什么&#xff1f;执行命令时&#xff0c;使用连接对象来访问数据库。close与nothing做了什么事&#xff1f;连接对象为…

Splunk 创建特色 dashboard 报表

1: 背景: 对原有的dashboard 进行增加点东西,特别是文字部分: 比如: 增加:“this is a guidline for how to use performance". 这段话,就不能写在title, 那样,这段文字,会出现在dashboard 的PDF 文件的分割线的上面,不符合要求。 2: 解决问题: 正确的做法是…

torch安装

https://download.pytorch.org/whl/torch_stable.html cp36 是python3.6的意思 python3.6对应torch1.8

外卖系统内部机理揭秘:了解更多

外卖系统是一个涉及多个环节和技术的复杂系统&#xff0c;包括前端用户交互、后端数据处理、订单管理和配送等多个方面。 技术架构概述&#xff1a; 前端应用程序&#xff1a; 包括用户界面和餐厅界面&#xff0c;常见的技术包括 HTML、CSS、JavaScript 和前端框架&#xff…

【入门Flink】- 06Flink作业提交流程【待完善】

Standalone 会话模式作业提交流程 代码生成任务的过程&#xff1a; 逻辑流图&#xff08;StreamGraph&#xff09;→ 作业图&#xff08;JobGraph&#xff09;→ 执行图&#xff08;ExecutionGraph&#xff09;→物理图&#xff08;Physical Graph&#xff09;。 作业图算子链…

【漏洞复现】Aapache_Tomcat_AJP协议_文件包含漏洞(CVE-2020-1938)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证 说明内容漏洞编号CVE-2020-1938漏洞名称Aapache_Tomcat_AJP文件包含漏洞漏洞评级高…

el-select 搜索无选项时 请求接口添加输入的值

el-select 搜索无选项时 请求接口添加输入的值 <template><div class"flex"><el-select class"w250" v-model"state.brand.id" placeholder"请选择" clearable filterable :filter-method"handleQu…

关闭Dell xps 系列笔记本触控屏

【电脑】->【管理】->【设备管理器】 右键 禁用选择即可

怎么测量直线模组的精度?

直线模组是一款比较多变的一种产品&#xff0c;适合多种行业&#xff0c;同时它也适合比较多的环境&#xff0c;是一种比较全面的直线运动的装置。直线模组是非常精密的自动化机械设备&#xff0c;在实践中&#xff0c;应该要严格把握具体精度&#xff0c;并且在必要的时候&…

CDN加速是否对SEO有正面影响

当谈到网站性能优化和SEO&#xff08;搜索引擎优化&#xff09;时&#xff0c;CDN&#xff08;内容分发网络&#xff09;加速无疑是一个重要的话题。CDN是一种分布式网络基础设施&#xff0c;它通过将网站内容分发到全球各地的边缘服务器&#xff0c;从而加速内容的传递。在这篇…

apb介绍

https://www.cnblogs.com/xianyuIC/p/17279209.html***带testbench https://zhuanlan.zhihu.com/p/623829190?utm_id0 https://zhuanlan.zhihu.com/p/607964532带testbench by四人独行 https://blog.csdn.net/weixin_40377195/article/details/124899571 APB是最简单的AMBA总…

链表详讲(附代码)

1.什么是链表 链表是一种非常常见的数据结构&#xff0c;在程序设计中经常被使用。它由一系列节点组成&#xff0c;每个节点都有用来存放数据的数据区以及存放下一个节点地址指针的地址区。跟顺序表不同的是&#xff0c;链表的节点之间的空间并非是连续的&#xff0c;依靠地址区…

最新waymo数据集 百度网盘

最新waymo数据集介绍 waymo数据集是有史以来最大&#xff0c;最多样化的自动驾驶数据集&#xff0c;包含 传感器数据边界框数据2D视频全景分割标签关键点标签3D语义分割标签2D和3D边界框的关联 是该领域质量最高、规模最大的数据集之一&#xff0c;用于帮助研究界在机器感知…

【Orangepi Zero2 全志H616】开发板资料(刷机、系统烧录)及环境搭建

一、资料文档 二、MobaXterm远程连接工具 三、修改登录密码 四、修改内核日志等级 五、配置网络 六、SSH 访问 OrangePi ZERO 2 七、配置 vim 八、基于官方外设开发SDK 一、资料文档 官网资料下载 GitHub&#xff1a;新版本的 orangepi-build 源码 环境搭建&#xff1a;新手配…

IP协议汇总

IP协议 1.基本概念 IP协议全称为“网际互连协议&#xff08;Internet Protocol&#xff09;” ,IP协议是TCP/IP体系中的网络层协议。 总的来说&#xff0c;IP协议的最重要功能是提供了一种标准化的方式来路由和传输数据包&#xff0c;以实现全球互联网上的通信。 &#xff…