spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]

一. Gradle下载与安装

软件名称 版本 下载地址
jdk jdk 11.0.5 下载链接 提取码:qwpe
spring-framework 5.1.x 下载链接 提取码:diq2
gradle 5.6.3 下载链接 提取码:pgkc
idea 2020.1/2020.3 下载链接 提取码:5555

二. Spring和Gradle

2.1 官网下载spring源码

GitHub 搜索springframework 版本号 5.1.x

官网下载: spring-projects / spring-framework 的 github地址


2.2 下载配置gradle

我们选择想要安装的发布版本,gradle-x.x-bin.zip是需要下载的安装发布版,gradle-x.x-src.zip是源码,gradle-x.x-all.zip则是下载全部的文件。 我选择下载gradle-5.6.3-bin.zip。

安装Gradle

Gradle下载的源码不需要安装,我们将下载的压缩包在本机的目录下直接解压即可,解压后的目录如下图所示。

配置Gradle环境变量

右键“这台电脑”–>“属性”–>“高级系统设置”–>“环境变量”–>“系统变量”,我们在系统变量中新增一个GRADLE_HOME值为解压后的路径,然后我们还需要修改Path变量,将Gradle的bin目录添加进去,我们在Path变量的最后面添加;%GRADLE_HOME%\bin,注意前面的分号(;)一定不能少。


验证Gradle是否安装成功
配置完成后我们查看一下本机安装的gradle的版本信息,
使用快捷键Win+R弹出的输入框中输入cmd,然后打开命令窗口,
在命令窗口中输入gradle -v 或 gradle -version 可以查看到gradle的版本信息


三. idea导入spring源码

3.1 导入源码

如果当前的版本是: idea 版本2020.1 ,操作步骤如下


注意:gradle开始进行源码项目构建的时候,会自动下载默认gradle版本进行项目构建,此时,强制结束下载进程

如果当前的版本是: idea 版本2020.3 ,操作步骤如下


注意:gradle开始进行源码项目构建的时候,会自动下载默认gradle版本进行项目构建,此时,强制结束下载进程

3.2 更改gradle的仓库源为阿里源,这样下载构建速度更快

build.gradle

repositories {
maven { url “https://maven.aliyun.com/repository/spring-plugin” }
maven { url “https://maven.aliyun.com/nexus/content/repositories/spring-plugin” }
maven { url “https://repo.spring.io/plugins-release” }
}

repositories {
maven { url “https://maven.aliyun.com/repository/central” }
maven { url “https://repo.spring.io/libs-release” }
mavenLocal()
}

3.3 idea中的gradle设置

注意:
 run tests using 设置成idea的gradle  user home : 可以任意选择一个本地磁盘的位置

3.4 设置完毕后,刷新gradle,让其重新构建源码


四. 编译⼯程

顺序:

 core    ⼯程  —>tasks  —>other  —>compileTestJavaoxm     ⼯程  —>tasks  —>other  —>compileTestJavacontext ⼯程  —>tasks  —>other  —>compileTestJavabeans   ⼯程  —>tasks  —>other  —>compileTestJavaaspects ⼯程  —>tasks  —>other  —>compileTestJavaaop     ⼯程  —>tasks  —>other  —>compileTestJava

4.1 core


4.2 oxm

4.3 context

4.4 beans

4.5 aspects

4.6 aop


五. 创建项目

5.1 在项目上右击新建model



在当前项目中添加spring-context依赖

创建测试类

编写配置文件

编写测试类

运行:报错问题1

5.2 问题处理

问题1:Kotlin: Language version 1.1 is no longer supported; please, use version 1.2 or greater.

解决:core/oxm/context/beans/aspects/aop/spring-dabing
     上述模块全部都需要设置Kotlin版本大于1.1


重新运行测试类:问题2

G:\spring-framework-5.1.x\spring-context\src\main\java\org\springframework\context\weaving\DefaultContextLoadTimeWeaver.java:26:38
java: 找不到符号符号:   类 InstrumentationSavingAgent位置: 程序包 org.springframework.instrument
问题2:

解决:

步骤1:
编辑spring-context模块的spring-context.gradle
将optional更新为compile

步骤2:
重新编译spring-context模块


5.3 再次运行项目,测试成功

spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]相关推荐

  1. Android源码编译环境搭建教程 (一) - Ubuntu系统构建

    Android源码编译环境搭建教程 (一) - Ubuntu系统构建 本教程为感兴趣的同学提供Android源码编译的环境搭建,当然这里都是基于windows系统,mac系统也差不多,将相应的软件替换 ...

  2. 安卓编译安装python_安卓源码编译环境搭建

    本编译环境以 Ubuntu 14.04 系统为例 修改软件源(可选) 安装相关依赖 安装Android编译工具JDK 一. 修改软件源(可选) : sudo gedit /etc/apt/source ...

  3. netty源码编译环境搭建

    最近在看websocket的东西,正好netty中有讲到websocket,所以把netty源码拿来看一下.该文章就是本人在搭建netty源码编译环境的一些收获和感悟.望各位指正!不甚感激.在这里顺便 ...

  4. Android系统源码编译环境搭建(清华镜像,想编译什么版本都可以,只是有JDK和make的版本要求)

    上一次,写得有点匆忙,现在补上清华镜像源码的详细下载方法. 编译Android 5.1源代码并烧录到Nexus4(用的是清华镜像的源) 环境准备: 基本环境:ubuntu-14.04-desktop- ...

  5. Android 源码编译环境搭建

    编译环境的搭建主要分为两个大步骤,在此做以记录 1.基础环境的准备 磁盘:需要6GB 以上(为以后可能会有新版本留了空间) Linux系统:Ubuntu6.06以上 2.工具的准备 Java环境:JD ...

  6. android mtk环境,Ubuntu 14.04 搭建MTK Android源码编译环境搭建

    安装必备的工具: BuildEnvironment Requirement ============================================================= ...

  7. 迅为IMX6开发板非设备树源码编译环境搭建(一)

    本小节适用 ITOP-IMX6Q(商业级 2G+16G),ITOP-IMX6Q(工业级 1G+8G), ITOP-IMX6D(商业级 1G+8G) 内核版本为 3.0.35 的系统编译. 13.1 编 ...

  8. 搭建Flutter Engine源码编译环境

    文章目录 资料 编译环境 一些命令 查看项目中用到的flutter环境 出现的问题 GOMA usage was specified but can't be found, falling back ...

  9. Spring Boot 2.0系列文章(四):Spring Boot 2.0 源码阅读环境搭建

    前提 前几天面试的时候,被问过 Spring Boot 的自动配置源码怎么实现的,没看过源码的我只能投降��了. 这不,赶紧来补补了,所以才有了这篇文章的出现,Spring Boot 2. 0 源码阅 ...

最新文章

  1. 梅尔频率倒谱系数(MFCC)资源
  2. 炉石传说服务器维护有补偿吗,炉石传说官网维护补偿什么时候到 未到原因说明...
  3. animate中使用HTML5,animate.css怎么使用?
  4. 【代码实现接口测试】Requests库
  5. 最小二乘法C#实现,简单代码
  6. openshift_OpenShift上的Java EE工作流(技术提示#64)
  7. Google Analytics 搜索引擎来源
  8. 南工大计算机学院,江南-欢迎访问湖北工业大学计算机学院官方网站
  9. pandas 读取所有表头_像用excel一样用pandas
  10. Docker 的4种网络模式
  11. 且看嘉兴如何“化云为雨”
  12. ORACLE的程序包1-程序包的基
  13. SEO优化中的div+css命名规则
  14. 如何给Arduino项目添加音乐播放功能
  15. 计算机屏幕坐标系转换,测量坐标系到计算机屏幕坐标系的换算
  16. python读取lmdb文件_LMDB 的 Python 接口使用方法
  17. JAVA方法重载优先级
  18. 关于电路中输入阻抗和输出阻抗大小的讨论
  19. K-means聚类攻击类型
  20. Codeforces - Serval and Rooted Tree

热门文章

  1. VBS教程:函数-FormatPercent 函数
  2. ipvsadm命令及lvs-nat类型web服务器集群
  3. Tengine(Nginx)动静分离简要配置
  4. Linux apache编译安装
  5. mod_rewrite
  6. 原生js-Ajax jq-Ajax集结
  7. [WinAPI] API 14 [获取、设置文件属性和时间]
  8. iOS oc 线程 进程,同步异步,并发串行,来捋捋
  9. Elasticsearch——利用Parent-Child关系解决大数据场景下的实时查询
  10. BizTalkServer 如何发送 EDI 消息(3)