哈喽大家好,我是阿Q!

春节期间,有小伙伴私信我说想要研究下Spring的源码,想让我出一期教程来实现IDEA导入Spring源码,今天它来了~

版本 :IDEA 2020.2.3 ;Spring 5.0.x ;gradle 4.4.1 ;

先从github上面把 spring 源码下载下来并解压:

切记:解压完成后不要直接用IDEA 打开,因为Spring 的源码是用 gradle 构建的。如果已经用IDEA 打开了请删除后重新解压。

我们找到文件夹

spring-framework-5.0.x\gradle\wrapper

下的 gradle-wrapper.properties 文件,查看里边的 gradle 版本,去官网下载。

下载完成之后把 gradle 的环境变量配置一下,可以用gradle -version 来验证 gradle 是否配置成功

USER_HOME/.gradle/ 下面新建 init.gradle 文件,将国外源换成国内镜像

allprojects {repositories {def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'all { ArtifactRepository repo ->if(repo instanceof MavenArtifactRepository){def url = repo.url.toString()if(url.startsWith('https://repo1.maven.org/maven2/')||url.startsWith('https://jcenter.bintray.com/')){project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."remove repo}}}maven {url REPOSITORY_URL}}
}

spring-framework-5.0.x 下打开git 的窗口执行以下命令

./gradlew :spring-oxm:compileTestJava

该命令的作用是将 spring 转成IDEA 可以导入的工程结构。

如果你新开的 Windowsdos 窗口,先进入源码的目录文件夹,执行命令不用加前面的./

配置 IDEA 中的 gradle

使用 File -> openSpring 工程导入到 IDEA 中,并等待 jar 下载完成。

如遇报错信息:

build.gradle 中添加

maven { url "http://maven.aliyun.com/nexus/content/groups/public"}

其目的就是为了换成国内的镜像(init.gradle 有时没有生效)

编译时报错如下:

原因是 gradlegradle 插件版本过旧,更换更高的版本可以解决,但这个问题只是提示,不影响编译。

test 包中随便找了一个单元测试运行,成功运行

以上就是今天的全部内容了。阿Q将持续更新java实战方面的文章,感兴趣的可以关注下,也可以来技术群讨论问题呦!

IDEA导入Spring源码相关推荐

  1. eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)

    在上一篇eclipse导入spring源码一 中已经完成一部分了,但是整个项目代码依然有报错: 很明显的错误,就是找不到jar(spring-asm-repack-5.0.1.jar和spring-c ...

  2. IDEA导入Spring源码缺失spring-cglib-repack-3.2.6.jar和spring-objenesis-repack-2.6.jar

    用IDEA导入Spring源码后缺失spring-cglib-repack-3.2.6.jar和spring-objenesis-repack-2.6.jar这两个依赖,网上试了几种方法感觉太麻烦了, ...

  3. IDEA(2020.3)导入Spring源码

    IDEA导入Spring源码(最新版源码) 博主于2022年4月7日从github中下载spring源码并导入idea(2020.3版本)中,遇到了不少的坑,下面来分享下整个过程. 第一步-下载Spr ...

  4. idea导入spring源码_Spring源码入门到放弃(一):环境准备

    今天开始Spring源码的学习,年后面试Java高级研发岗,Spring底层的知识是必问知识,而且面试官问的很深入,以前没系统的了解过,现在开始恶补. 在此记录学习过程,不定期更新学习笔记.希望对大家 ...

  5. 导入Spring源码找不到包spring-cglib-repack和spring-objenesis-repack

    一.问题 1.最近准备阅读下Spring源码,学习下它优秀的架构和编程思想.但是出师不利. Spring源码git仓库:https://github.com/spring-projects/sprin ...

  6. 《Spring》第一篇 IDEA导入Spring源码

    目录 一. 下载源码 二. gradle 1. gradle 下载 2. 环境变量的配置 配置 GRADLE_HOME 配置 GRADLE_USER_HOME 三. Spring源码的配置文件修改 s ...

  7. JAVA_OA管理系统(三)番外篇:Myeclipse导入Spring源码包

    世界上只有10种程序员,看源码的和不看源码的: 今天,我们要看源码: 首先先用Ctrl键随便找个spring或者中的类,(其实myeclipse和eclipse导入源码包都是一样的) 第二步: 然后是 ...

  8. 想读Spring源码?先从这篇「 极简教程」开始

    来自:Java中文社群 为什么要阅读源码?这是一个有趣的问题,类似的问题还有,为什么要看书?为什么要爬山? 这也是一个哲学问题,我想每个人都有不同的答案,下面我是对阅读源码好处的一些思考.(PS:也欢 ...

  9. Spring源码阅读 源码环境搭建(一)

    ring 源码阅读的搭建(一) 一 下载spring源码 进入官方网页:https://spring.io/projects/spring-framework 进入相关的github位置,下载zip包 ...

最新文章

  1. memcpy()函数
  2. MySQL导出数据遇到secure-file-priv问题的解决方法
  3. matlab GUI之自定义菜单小结
  4. IntelliJ IDEA添加jar包
  5. 泛型集合 无序泛型 c#
  6. 代理模式、动态代理及其应用
  7. Codeforces Round #243 (Div. 2) A~C
  8. mysql 字符串搜_Mysql搜索字符串
  9. linux下SOEM安装测试
  10. Android 基于阿里云播放器实现仿抖音播放(一)
  11. 易语言基于HTML(网页)开发软件界面UI的方法
  12. 【jszip3.2.1 解压文件乱码】
  13. 实验中常用光纤接头型号
  14. 计算机录制视频的方法,怎么录制电脑屏幕视频步骤(电脑录屏的方法有4种)...
  15. GaRy-Liang的linux成长日记2-系统安装
  16. MySQL基本数据类型
  17. 脚本不得关闭非脚本打开的窗口。Scripts may close only the windows that were opened by it...
  18. python基础学习与应用
  19. 【无标题】文档转成二维码添加到公众号文章(Word、Excel、PPT、PDF等)
  20. Flutter开发模式之Bloc学习

热门文章

  1. 【Mysql】Mysql SQL 大小写规范
  2. 小游戏怎么做运营?掌握这七步你也能成为小游戏运营专家!
  3. IOS 之 螺旋仪与加速计, 磁力计
  4. 单片机音乐播放器课程设计C语言,单片机音乐播放器课程设计中音乐代码怎么弄...
  5. 小米路由器3安装opkg指南
  6. 《芳华》文工团的花儿特辑 冯小刚圆女兵情结
  7. LeetCode 2065. Maximum Path Quality of a Graph(最大化一张图中的路径价值)
  8. Android 开发软件架构思考以及经验总结
  9. 最近看到的一档综艺节目
  10. 区块链中的哈希是什么?