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/'}
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" }
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
并解压
配置 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-aspects
根据官方文档
修改一下idea vm
修改idea
添加
-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();}
}
项目启动成功。。。