Spring源码之idea导入Spring源码
Spring是目前java语言中最流行使用最广泛的的轻量型框架,了解实现的过程能够帮助我们更好理解框架的执行逻辑,那么我们如何下载导入Spring源码进行开发测试?
一、下载配置gradle环境
1.1、下载gradle
从Spring5开始,Spring官方开始使用gradle构建环境,因此要执行Spring源码,首先要安装gradle环境,每个Spring源码对应的gradle版本都不一样,兼容性也不同,因此要找到与Spring版本对应的gradle版本,具体的配置在Spring项目的gradle\wrapper\gradle-wrapper.properties文件下:
我们直接拿到这个地址将https\://改成https://便可以下载gradle,也可以直接去gradle官网直接下载:https://gradle.org/releases/
1.2、配置gradle环境
gradle和maven一样,下载gradle后解压即可用,但是为了方便还需要配置环境变量。
1.3、校验gradle环境
配置完环境变量,输入cmd打开窗口,输入gradle -v,出现如下信息即表示配置成功
二、导入Spring源码
2.1、下载Spring源码
Spring源码地址为 GitHub - spring-projects/spring-framework: Spring Framework
在下载的时候可以选择自己想查看的版本下载,建议直接下载对应的zip包
2.2、编译Spring源码
刚下载完Spring源码后需要使用gradle进行编译,进入Spring源码的根目录库下,输入cmd,进入黑窗口,在根目录下执行gradlew.bat (mac或linux下是 gradle)
注意:如果是第一次使用gradle,下载会比较慢,可以像maven一样配置下仓库和代理地址,下载速度会快很多。
配置如下:
在gradle的根目录创建build.gradle文件,键入下面代码即可
allprojects{repositories {//maven {url 'file:///D:/ruanjian/maven_repository'}//mavenLocal()maven {url 'https://maven.aliyun.com/repository/central'}maven {url 'https://maven.aliyun.com/repository/jcenter'}maven {url 'https://maven.aliyun.com/repository/public'}maven {url 'https://maven.aliyun.com/repository/google'}maven {url 'https://maven.aliyun.com/repository/gradle-plugin'}maven {url 'https://maven.aliyun.com/repository/grails-core'}maven {url 'https://maven.aliyun.com/repository/spring'}maven {url 'https://maven.aliyun.com/repository/spring-plugin'}maven {url 'https://maven.aliyun.com/repository/spring-snapshots'}mavenCentral()}
}
出现如下图所示,即为编译成功。
2.3、idea导入Spring源码
打开idea,找到File->New->Project from Existing Sources,找到Spring源码项目
选择gradle,导入即可
修改jdk版本
到此Spring源码导入即可完成,等待Idea自动构建即可。
三、常见的问题
3.1、jdk和gradle版本不匹配
出现上诉错误要看下自己的jdk版本和gradle版本是否匹配
3.2、Spring编译gradle和自己的gradle版本不一致
一般出现 Build.gradle: A problem occurred evaluating project ':app' 表示你本地的gradle版本和Spring源码的编译版本不兼容,需要去gradle\wrapper\gradle-wrapper.properties下确认Spring源码的gradle版本
3.3、其他错误
Spring源码的根目录下有个import-into-idea.md文件,可以参考官方的运行步骤执行一遍
Spring源码之idea导入Spring源码相关推荐
- Spring中使用XML方式导入Spring配置文件,Boot中使用全注解导入Spring配置
目录 Spring中的方法 Spring Boot中的方法 Spring中的方法 @ImportResource:导入Spring的配置文件,让配置文件里面的内容生效: Spring Boot里面没有 ...
- 《Spring》第一篇 IDEA导入Spring源码
目录 一. 下载源码 二. gradle 1. gradle 下载 2. 环境变量的配置 配置 GRADLE_HOME 配置 GRADLE_USER_HOME 三. Spring源码的配置文件修改 s ...
- android studio im源码,Android Studio 导入 AOSP 源码
有了 AOSP 源码,接下来就是如何看了,可以直接文本看,可以用 Source Insight,我当然选择 Android Studio,Android Studio 是我熟悉且十分强大的工具.问题来 ...
- android sutdio导入源码教程,《AndroidStudio导入安卓源码-idegen》---可方便查看安卓源代码...
idegen是Android源码中的一个模块,需要编译一下.生成一个jar包.然后再进行构建生成AndroidStudio配置相关文件. > 什么是idegen 要将Android系统源代码工程 ...
- effective java英文版pdf_Java之Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse...
框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1.简单介绍Spring,主要是从网上借鉴一些重点 2.尽量说明清楚Spring的使用方法以及细节点 3.尽量以自己的理解 ...
- irule jar包无法导入_Java之Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse...
框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1.简单介绍Spring,主要是从网上借鉴一些重点 2.尽量说明清楚Spring的使用方法以及细节点 3.尽量以自己的理解 ...
- JAVA_OA管理系统(三)番外篇:Myeclipse导入Spring源码包
世界上只有10种程序员,看源码的和不看源码的: 今天,我们要看源码: 首先先用Ctrl键随便找个spring或者中的类,(其实myeclipse和eclipse导入源码包都是一样的) 第二步: 然后是 ...
- MyEclipse中导入Spring 4.0源码
到Spring的官网下载开发包,即: ,解压缩后的文件目录如下: 在MyEclipse的编辑窗口,按 Ctrl + Shift + T 打开查看源代码窗口,输入你想查找的类,如下图所示: 当你点击OK ...
- spring源码编译和导入eclipse
1.下载源码并解压 https://github.com/spring-projects/spring-framework/tree/v3.2.5.RELEASE 2.源码编译 cmd进入spring ...
- idea导入spring源码_Spring源码入门到放弃(一):环境准备
今天开始Spring源码的学习,年后面试Java高级研发岗,Spring底层的知识是必问知识,而且面试官问的很深入,以前没系统的了解过,现在开始恶补. 在此记录学习过程,不定期更新学习笔记.希望对大家 ...
最新文章
- 开发者转型AI看过来,这是一场汇聚中美顶尖专家的AI盛会
- plsql执行command命令控制台出现乱码_设计模式系列 — 命令模式
- matlab中如何画隐函数方程组,怎样用matlab画隐函数
- getHibernateTemplate()和getSession()的区别
- 关于props的注意事项!
- java 定时_Java线上定时任务不定期挂掉问题分析
- 王道考研学习笔记IP数据报格式IP数据报分片(超详细)
- BZOJ2150: 部落战争
- 基本sql语句--触发器
- C语言:有N个数从小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数。如果不在数组中,打印“not found”。
- System.Diagnostics.Process的常见用法
- ContextLoaderListener和Spring MVC中的DispatcherServlet加载内容的区别
- SQL 怎么创建一个只有查询数据库用户权限呢
- idea mac xml注释快捷键
- OSPF基础知识及配置命令
- 自动控制原理思维导图
- 被罗马人称为的三大蛮族去向和苏格拉的独立
- 6 生僻字_教改后注音书还有必要读吗?别纠结,6-8岁注音书我推荐这10套
- web前端CSS选择符:表示要定义样式的对象
- 秒杀抢购活动性能测试记录
热门文章
- 09-JS的事件流的概念(重点)
- cve-2018-2893 WebLogic
- SAM4E单片机之旅——4、LED闪烁之PWM
- poj 1159 (DP LCS)
- [DesignPattern]各自用一句话来概括MVC、MVP、MVVM的差异特点
- [翻译]XNA 3.0 Game Programming Recipes之six
- PYQT之- QObject与线程QThread的关系
- Windows 10 系统下配置java的classpath
- QT-程序依赖打包-windeployqt方式(简述版)
- 使用bintray-release工具上传gradle项目至bintray.com