> 文章列表 > Spring 源码环境搭建(一)

Spring 源码环境搭建(一)

Spring 源码环境搭建(一)

Spring 源码环境搭建

1.下载源码

git clone -b 5.3.x git@github.com:deyou123/spring-framework.git

切换分支

git branch -a //查看所有分支

git checkout 5.3.x //切换分支

2. Gradle 下载

查看对应版本 gradle-7.5.1-bin.zip

[spring-framework/gradle-wrapper.properties at 5.3.x · spring-projects/spring-framework (github.com)

下载地址:

https://services.gradle.org/distributions/gradle-7.5.1-bin.zip

配置Gradle环境变量

GRADLE_HOME=D:\\tools\\gradle-7.5.1

GRADLE_USER_HOME=D:\\repos\\Maven_Repository

3. Spring源码的配置文件修改

settings.gradle 文件

maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}

Spring 源码环境搭建(一)

build.gradle

maven { url "https://maven.aliyun.com/nexus/content/groups/public/"}
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url "https://maven.aliyun.com/repository/spring-plugin"}
maven { url "https://repo.spring.io/libs-spring-framework-build" }

Spring 源码环境搭建(一)

4. 编译:

命令行进入项目目录

./gradlew :spring-oxm:compileTestJava

由于下载 gradle-7.5.1-bin.zip 比较慢。可以提前下载对应版本

先执行

./gradlew :spring-oxm:compileTestJava

生成gradle-7.5.1-bin\\7jzzequgds1hbszbhq3npc5ng 目录后

中断命令

将下载好的gradle 压缩包复制到

GRADLE_USER_HOME\\wrapper\\dists\\gradle-7.5.1-bin\\7jzzequgds1hbszbhq3npc5ng

Spring 源码环境搭建(一)

并解压

Spring 源码环境搭建(一)

配置 init.gradle

allprojects {repositories {mavenLocal()google()maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" }maven { name "Bstek" ; url "https://nexus.bsdn.org/content/groups/public/" }mavenCentral()}buildscript {repositories {maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' }maven { name "Bstek" ; url 'https://nexus.bsdn.org/content/groups/public/' }maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }}}
}

再次执行

./gradlew :spring-oxm:compileTestJava

导入idea

(File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)

Spring 源码环境搭建(一)

Spring 源码环境搭建(一)

Spring 源码环境搭建(一)

等待编译结束

排除 spring-aspects

Spring 源码环境搭建(一)

根据官方文档

修改一下idea vm

Spring 源码环境搭建(一)

修改idea

Spring 源码环境搭建(一)

添加

-XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m

参考博客: https://blog.csdn.net/weixin_44167408/article/details/121769949

到这里源码环境拉取结束

后来又出现了问题 缺少包的问题

把jdk 升级为11

但是出现过时方法

新建

gradle.properties 中添加

org.gradle.warning.mode=all

5. 测试项目:

新建项目名

apply plugin: "groovy"
apply plugin: "kotlin"dependencies {api(project(":spring-context"))implementation 'junit:junit:4.13.2'implementation 'org.hamcrest:hamcrest-core:2.2'compileOnly 'org.projectlombok:lombok:1.18.18'annotationProcessor 'org.projectlombok:lombok:1.18.18'}
@Component
public class UserService {public void user(){System.out.println("user..........");}
}
@Configuration
@ComponentScan("com.example.service")
public class SpringTest {public static void main(String[] args) {AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringTest.class);UserService userService = context.getBean("userService", UserService.class);userService.user();}@Testpublic void test(){AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringTest.class);UserService userService = context.getBean("userService", UserService.class);userService.user();}
}

项目启动成功。。。