IDEA编译Spring5.2.x源码

本文最后更新于 2025年11月19日 晚上

1. 下载

源码

下载后解压

spring-projects/spring-framework at 5.2.x

Git

Git - Downloads

(安装过git但是这里没有选择第三项的,卸载原有Git,重启电脑,重新下载安装)

Gradle

Gradle | Releases

往下翻,选择5.6.4版本下载,解压安装后,把下载的zip文件也拖进gradle的安装目录中,后面要用到

2. 修改配置文件

build.gradle

修改项目根目录下的build.gradle文件,搜索repositories进行修改,搜索kotlin,将allWarningsAsErrors = true注释

1
2
3
4
5
6
7
repositories {
maven { url "https://maven.aliyun.com/nexus/content/groups/public/"}
maven { url "https://maven.aliyun.com/nexus/content/repositories/jcenter"}
maven { url "https://repo.spring.io/libs-spring-framework-build" }
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://oss.jfrog.org/artifactory/oss-snapshot-local" }
}

gradle-wrapper.properties

修改spring-framework-5.2.x\gradle\wrapper\gradle-wrapper.properties的distributionUrl,这里的distributionUrl就是我们前面下载gradle的zip文件路径

1
distributionUrl=file:///d:/Develop/gradle-5.6.4/gradle-5.6.4-all.zip

3. 导入 IDEA

IDEA打开项目,修改以下配置

设置git

配置JDK

配置gradle

处理Git报错

构建完成后会看到一个git报错

依次运行下列git命令,重新构建

1
2
3
git init
git add --all
git commit -m init

构建成功

3. 创建自定义module

修改自定义项目的依赖

1
2
3
4
5
dependencies {
// testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
// testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
optional(project(":spring-context"))
}

执行两个gradle插件方法

再次构建

构建完成后编写测试代码

4. 编写测试代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.spring;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
* @author LiuXiaoBai 2023/7/20
*/
public class Test {
public static void main(String[] args) {
AnnotationConfigApplicationContext
context = new AnnotationConfigApplicationContext();
context.refresh();
}
}

执行 Run 命令

出现报错

其实是没有class文件,运行对应模块的 Test 方法,让其编译出 class 文件

然后回到自定义模块继续执行main方法,报错

解决思路是一样的,这个类是context里的,找一个context里面的测试包去跑

跑完提示错误信息,可忽略

再去执行 main 方法,可以正常运行


IDEA编译Spring5.2.x源码
http://blog.baicat.eu.org/2024/04/03/IDEA编译Spring5-2-x源码/
作者
liuxiaobai5201314
发布于
2024年4月3日
更新于
2025年11月19日
许可协议