目录

1、源码下载

2、构建工具准备

3、编译compileTestJava模块

4、导入项目到IDEA中

5、添加 gradle 模块


本示例基于 spring-framework-5.2.7.RELEASE + GradleWapper + jdk1.8.0_131编译

1、源码下载

从官网下载源码:Spring Framework

选择具体的稳定版本(RELEASE)即可

2、构建工具准备

安装源码对应的 gradle 版本(也可不安装),建议使用 gradleWraper 中的 gradle。

gradleWraper 在上述文件中有体现,相当于远程自动下载 gradle 到本地,所以你可以下载 gradle,也可以不下,因为可以使用 gradleWraper 远程的统一版本。

注:如果需要本地下载也最好下载该链接对应的gradle版本。

修改 build.gradle 内容

这个文件就相当于我们Maven的 pom.xml 管理项目的依赖等信息,增加国内镜像

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" }
}

3、编译compileTestJava模块

打开源码所在文件夹,在搜索栏输入 cmd 命令,跳转到所在目录的命令行窗口,在当前目录的命令行窗口无需输入“./”。

gradlew :spring-oxm:compileTestJava

如果编译失败:

Error resolving plugin [id: 'io.spring.gradle-enterprise-conventions', version: '0.0.2']

首先,将 build.gradle 中的 id ‘io.spring.gradle-enterprise-conventions’ version '0.0.2’ 注释掉

保存设置后,重新编译,当出现以下提示,即编译成功

注:第一次需要远程下载 gradleWraper,速度可能会比较慢,需要耐心等待

4、导入项目到IDEA中

将项目导入到 IDEA 中,按照如下配置,open->选择项目所在位置

注:导入后等待编译,不要着急,需要一点时间编译完成。

5、添加 gradle 模块/测试

创建一个 gradle 模块,new->model->gradle-->输入模块名称

在新建模块下的 build.gradle 中添加如下依赖:

dependencies {testCompile group: 'junit', name: 'junit', version: '4.12'compile(project(":spring-beans"))compile(project(":spring-core"))compile(project(":spring-context"))optional(project(":spring-aop"))
}

随意添加任意bean

public class Hello {public void sayHello(){System.out.println("Hello Spring!");}
}

测试

public class MainStat {public static void main(String[] args) {//加载配置文件,生产BeanApplicationContext context = new AnnotationConfigApplicationContext(Hello.class);//获取BeanHello hello = (Hello) context.getBean("hello");//使用Beanhello.sayHello();}
}

正确输出,编译完成

可能出现的问题:

Error:(354, 51) java: 找不到符号
符号: 变量 CoroutinesUtils
位置: 类 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar

然后选择 spring-core.main ,确定后,重新编译即可(如果继续报错,使用IDEA重新编译一下)

kotlin/sequences/Sequence错误

在idea的插件中升级kotlin即可

Spring 源码编译相关推荐

  1. Spring源码编译报错那些事

    Spring源码编译报错那些事(不会吧不会吧,不会真的有人刚学习源码就被劝退了吧

  2. Gradle教程 Spring源码编译

    目录: gradle 安装配置 grovvy 语法介绍 gradle 仓库配置 gradle 配置文件讲解 gradle 案例:springboot + gradle打war包 gradle 多项目案 ...

  3. spring源码编译

    目录 1.spring源码编译 1.1 准备工作 1.2 构建工具准备 1.3 修改build.gradle 1.4 编译工作 1.5 导入项目到idea中 1.spring源码编译 1.1 准备工作 ...

  4. Spring源码编译测试

    Spring源码编译(以5.3.22版本为例) 参考作者:程序员七哥 https://www.bilibili.com/read/cv11704879/ 出处:bilibili 本项目环境版本介绍: ...

  5. spring源码编译和导入eclipse

    1.下载源码并解压 https://github.com/spring-projects/spring-framework/tree/v3.2.5.RELEASE 2.源码编译 cmd进入spring ...

  6. Spring源码系列(十三)——Spring源码编译及详细注解

    文章目录 1. 环境搭建 2. 代码编译 2.1 编译代码 2.1.1 build.gradle 2.1.1.1 第一处 2.1.1.2 第二处 2.1.2 gradle.properties 2.1 ...

  7. spring源码编译导入eclipse

    由于想更深入的学习下spring,于是下载了spring的源码编译之后导入eclipse.这其中出现了一些问题,虽然最后 工程能够build成功,但是这些问题仍然没有解决. 首先说说自己的一些比较蠢的 ...

  8. spring源码编译之gradle环境搭建(编译spring源码真的脑阔疼)

    官网 Gradle | Installation Gradle Distributions 下载 配置环境变量: GRADLE_HOME:D:\software\gradle-6.0.1-all\gr ...

  9. Spring源码编译教程(自己复习) 作者 周瑜

    1.Spring底层核心原理解析 作者:周瑜 笔记在线更新版:0_0 牛逼的Spring · 语雀 本节课会把Spring中核心知识点都给大家进行串讲,让大家对Spring的底层有一个整体的大致了解, ...

  10. Spring源码编译及过程中的一些问题总结

    1.跳过测试 gradlew build -x test 2.编译失败,提示信息为 Failed to create MD5 hash for file 'F:\code\spring-framewo ...

最新文章

  1. python 中的序列
  2. Keras-数据增广
  3. BZOJ 1305 二分+网络流
  4. 广州云栖大会:阿里云携手虎牙,首次落地直播行业边缘节点及云企业网服务
  5. SharePointChina.com上线 《MOSS 2007 前瞻技术指南》第一章完整版预览申请
  6. 马斯克自曝特斯拉渣产能原因:我错了,过分信任自动化机器人
  7. MySQL的replace方法
  8. Android自定义ScrollBar,android自定义View之垂直的滚动条
  9. 中国iOS和Android设备激活量将超美国
  10. 视觉/视觉惯性SLAM最新综述:领域进展、方法分类与实验对比
  11. mysql python insert 添加数据
  12. 台达 PLC 绝对定位
  13. 龙ol服务器维护补偿boss,《龙OL》12月17日更新公告
  14. 让树莓派变身照相机——摄像头控制
  15. win8计算机睡眠无法唤醒,win8.1系统休眠后无法唤醒的解决方法
  16. 如何对固定资产、耗材全流程管理
  17. 《阴阳师》手游分析报告
  18. 计算机辅助分析 论文,计算机辅助设计论文要求分析.doc
  19. [DonkeyCar][树莓派]基础01 - 首次配置 - WIFI
  20. HBase thrift2

热门文章

  1. jenkins+ansible+gitlab
  2. 数据结构与算法---常用三大排序算法
  3. 浅析Comet技术在Java Web实时系统开发中的应用
  4. 2017年秋季学期获“领跑衫”感言
  5. EM 算法求解高斯混合模型python实现
  6. Java -- 新IO -- 目录
  7. C#多线程之线程同步篇2
  8. MonoMac 1.0正式发布
  9. 嵌套类nested class 和 抽象类abstract
  10. centos安装mysql wsl_windows 10 WSL 安装 Centos