作者 | 阿Q

来源 | 阿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 包中随便找了一个单元测试运行,成功运行

以上就是今天的全部内容了。

往期推荐

好难啊……一个 try-catch 问出这么多花样

k8s集群居然可以图形化安装了?

恶意流量威胁新趋势,揭秘网络黑产3大核心本质

将 k8s 制作成 3D 射击游戏,好玩到停不下来

点分享

点收藏

点点赞

点在看

开工啦~Spring 完美导入 IDEA相关推荐

  1. Eclipse的Spring库导入

    Spring链接: http://s3.amazonaws.com/dist.springframework.org/release/SPR/spring-framework-3.0.5.RELEAS ...

  2. xml建模包括以下_建模干货,1分钟速学,Photoscan空三结果完美导入CC

    ​关注公众号"三维前沿",获取更多倾斜摄影.激光点云资讯. 相信大家都经历过 有时CC空三总是失败或错误 最崩溃的是 一顿操作猛如虎,定睛一看原地杵 此时 Photoscan空三能 ...

  3. Spring - @Import - 导入配置类

    目录 前言 普通类导入 @Configuration的配置类导入 ImportSelector 方式导入 前言 @Import注解用来导入配置类或一些需要前置加载的类,其可以通过快速导入的方式实现把实 ...

  4. 在UE4中完美导入MMD的动作,表情;基本导入镜头,材质---最详细教程

    具体看b站我写的这个教程链接: 分为两p,十分适合新手看,非常详细,精确每一步. 第一个为动作,表情的导入和整合,以及材质的基本处理 https://www.bilibili.com/read/cv5 ...

  5. Spring Boot 导入导出Excel

    原文出处:https://www.cnblogs.com/linjiqin/p/10975761.html#commentform 1.添加springBoot支持 <dependency> ...

  6. 3Dmax模型完美导入Revit

    本文主要介绍了如何将通过3Dmax建立的模型导入Revit,并保证转换后构件材质可根据需要自行调整. 3Dmax操作 首先将你要导出的模型移动到原点附近. 然后进行面数的优化(选中需要优化的构件→命令 ...

  7. 3Dmax模型完美导入SketchUp

    背景介绍 用3D建了个模型,后来因为业务需求的改变需要导入到SketUp中,本来采用的方法是由3D导出3ds,然后在SketchUp中读取3ds文件,但是发现模型会'乱飞',而且材质丢失很严重,于是搜 ...

  8. ArcGIS栅格计算结果 完美导入Coredraw方法

    写在前面:写这篇笔记的时候,我的心态是崩溃的,因为这个方法是我在清绘完所有图片之后灵光一闪想到的,这个方法要比之前的方法方便快捷,而且成图效果好. 这告诉我一个深刻的道理:就是走路要抬头看路. 问题来 ...

  9. Sketchup模型无破面无丢面完美导入Unity3D的正确流程【2020】

      很多使用Sketchup的童鞋,在将SU模型导入Unity3d时,模型不是丢面,就是破面,甚至模型散乱和出现黑面,网上有很多介绍Sketchup模型导入Unity3d的方法,通过简单的模型来演示, ...

最新文章

  1. RecycleView Layout 详解
  2. linux虚拟网络设备之bridge(桥)(三)
  3. Redis 面试题 50 问,史上最全
  4. python- 进阶 与flask的搭配使用---定时任务框架APScheduler学习详解
  5. java redis 命令_命令界面:使用Java中的动态API处理Redis
  6. acegis连接使用方法_石渠锚杆连接器,使用方法
  7. 从头实现linux操作系统_从头开始实现您的第一个人工神经元
  8. iOS中的锁和线程同步
  9. 银行计算机岗位职称,银行职称有哪些,等级是如何划分的
  10. Python012--python3.7在本地及虚拟机上的安装与配置
  11. 如何绘画Q版古风人物,超简单超实用,一学就会!
  12. 如何用电脑调试安卓手机浏览器上的网页
  13. linux桌面 输入法 原理,安装ubuntu 7.10桌面版后无中文输入法的解决
  14. 美国拟发布纽扣电池或硬币电池安全标准和通知要求ANSI C18. 3M
  15. 人工智能入门学习笔记(一)
  16. Android应用接入招商一网通
  17. AcWing:Dijkstra
  18. android studio天气预报
  19. 美国智能网联最新政策动态(2021年9-11月)
  20. 为什么MacBook、MacOS的程序坞(dock栏docker栏)有些只有一条竖线有些两条

热门文章

  1. js在div中追加html,JS把内容动态插入到DIV的实现方法
  2. C++数据的一些注意事项
  3. matlab库存点仿真教程,基于MATLABSimulink库存系统建模与仿真.doc
  4. java 数据字典 spring_springboot+redis+切面实现数据字典功能
  5. 收发一体超声波测距离传感器模块_芜湖低功耗超声波液位计物位计设备排名
  6. AI算法连载17:统计之半监督学习
  7. 人工智能技术将重塑银行业
  8. 仅剩296个免费名额,AI工程师进阶必修课今日领取
  9. 消防荷载楼板按弹性还是塑性计算_第二节 消防登高面、消防救援场地和灭火救援窗...
  10. 通过gparted 调整 ubuntu 磁盘