-
Notifications
You must be signed in to change notification settings - Fork 0
spring5源码构建和资料
我的工程里面这些都已经配好了, 不需要动了
gradle.properties配置文件调整后如下:
# 避免影响其他项目
version=5.2.6.RELEASE.CUSTOM
## Gradle编译时,会下载很多东西,占用内存较大,建议适当调大点
org.gradle.jvmargs=-Xmx2048M
## 开启Gradle的缓存
org.gradle.caching=true
## 开启Gradle并行编译
org.gradle.parallel=true
## 开启Gradle守护进程模式
org.gradle.daemon=true
在settings.gradle配置文件中的repositories配置项,需要再添加阿里云的仓库地址:
maven { url "https://maven.aliyun.com/repository/public" }
而在build.gradle配置文件中的repositores配置项中,也需要添加阿里云仓库的配置:
repositories {
mavenLocal()
maven { url "https://maven.aliyun.com/repository/public/" }
maven { url "https://maven.aliyun.com/repository/central/" }
maven { url "https://maven.aliyun.com/repository/spring/" }
maven { url 'https://maven.aliyun.com/repository/google/' }
maven { url 'https://maven.aliyun.com/repository/jcenter/' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
maven { url "https://maven.aliyun.com/repository/spring-plugin/" }
maven { url 'https://maven.aliyun.com/repository/grails-core/'}
maven { url 'https://maven.aliyun.com/repository/apache-snapshots/'}
mavenCentral()
maven { url "https://repo.spring.io/libs-spring-framework-build" }
maven { url "https://repo.spring.io/milestone" } // Reactor
//新增 spring 插件库
maven { url "https://repo.spring.io/plugins-release" }
}
同时,我们需要注释以下的配置,因为在Gradle构建v5.2.6.RELEASE版本的Spring源码时,相应的jar包可能下载不到了,如果不注释掉的话可能会导致Gradle构建失败,这个坑大家需要注意下:

去掉这个"-Werror"

参考: https://blog.csdn.net/java_lyvee/article/details/107300648
这是额外的方式, 和上面不一样

mac 是
distributionUrl=file://////opt/homebrew/opt/gradle/libexec/gradle-8.11.1-bin.zip
然后 idea 设置


记得使用jdk8执行
在工程目录下运行 ./gradlew :spring-oxm:compileTestJava 等待差不多 3 分钟。如果无法科学网上,则会出现网络错误
然后编译, 编译有一定的顺序的
- spring-core
- spring-oxm
- spring-context
- spring-beans
- spring-aspects
- spring-aop
- spring-tx
./gradlew :spring-core:compileTestJava
./gradlew :spring-oxm:compileTestJava
./gradlew :spring-context:compileTestJava
./gradlew :spring-beans:compileTestJava
./gradlew :spring-aspects:compileTestJava
./gradlew :spring-aop:compileTestJava
./gradlew :spring-tx:compileTestJava
最后编译整个的
./gradlew build -x checkstyleMain -x checkstyleTest -x checkstyleNohttp -x test
编译用Tasks-other-compileTestJava


有个spring-demo的模块是我搭建的, 可以调试spring.
spring-demo的test是我手写模拟mybatis和spring整合的
spring-webmvc里面的test目录, 里面的com.study里面是mvc的测试, 可以在那打断点调试
https://www.yuque.com/renyong-jmovm/spring
https://www.yuque.com/books/share/5f19528d-d89b-4b69-a7bd-9f436a2dd734 如果要密码才能访问的话, 密码是rxka
https://blog.csdn.net/qq_36882793/article/details/106440723
https://blog.csdn.net/wts563540/article/details/126685935
https://andyboke.blog.csdn.net/category_8574636_2.html
spring扩展点 https://blog.csdn.net/qq_19283249/article/details/127182358