002-【Spring】源码编译

本文详细介绍了如何编译Spring源码,包括使用Gradle进行编译、修改源码、调整配置文件如gradle-wrapper.properties、build.gradle和build.properties,以及执行编译脚本。同时,文中给出了创建模块验证源码编译的步骤,涉及添加依赖和测试内容。
摘要由CSDN通过智能技术生成

Spring源码编译

1、理解编译过程

  • 1)Spring源码依赖gradle进行编译
  • 2)不同版本的Spring依赖的gradle版本不一样,但是同一台电脑可以同时安装多个gradle

使用不同的gradle,要修改对应的环境变量对应的地址

  • 3)要修改源码中的仓库地址和JVM内存才能完成编译
0)成功版安装参考[V5.0版本]:https://www.jianshu.com/p/02f17909e2d6
1)添加gradle仓库,不要删除原来的仓库
2)将build.gradle和gradlew可执行文件中的参数配置调到1024->2048
3)先执行gradle
4)再根据import-into-idea.md中去执行对应的命令
5)Spring版本说明:V5.0版本的时候在build.gradle指明了gradle的版本,本地的gradle版本要保持一致
6)在Spring5.1版本中就没有指定版本了,如果Gradle的版本太高,Gradle中的Kotlin版本也会受到影响

2、代码修改

  • 1)代码拉取
git clone https://gitee.com/Z201/spring-framework.git -b 5.2.x
  • 2)修改文件

一定要先找到这些文件进行修改,然后执行./gradlew :spring-oxm:compileTestJava命令(import-into-idea.md)文件中的要求进行顺序执行

  • 3)修改文件-gradle-wrapper.properties
搜索关键字:distributionUrl=file:///Applications/0ENZO/Installs/gradle/gradle-5.6.4-bin.zip
  • 4)修改文件-build.gradle

【取消插件】+【添加国内仓库】

搜索关键字1:io.spring.gradle-enterprise-conventions
搜索关键字2:repositories {
            maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/' }
            maven{ url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
            mavenCentral()
            maven { url "https://repo.spring.io/libs-spring-framework-build" }
        }
  • 5)修改文件-build.properties
version=5.2.9.BUILD-SNAPSHOT
#新增如下配置,解决heap堆内存空间不够问题
org.gradle.jvmargs=-Xms2048m -Xmx4096m 
org.gradle.caching=true
org.gradle.parallel=true
gradlePropertiesProp=gradlePropertiesValue
sysProp=shouldBeOverWrittenBySysProp
systemProp.system=systemValue
org.gradle.daemon=true
org.gradle.configureondemand=true
  • 6)修改文件-gradlew
搜索关键字:DEFAULT_JVM_OPTS='"-Xmx1024m" "-Xms1024m"'

3、执行脚本

修改上面的配置之后,gradle因为已经配置了新的运行内存,gradle本地安装路径,国内镜像仓库等,使用IDEA打开就可以正常的添加依赖了(可以使用CMD或者IDEA控制台)

./gradlew :spring-oxm:compileTestJava

4、创建模块验证Spring源码编译

  • 1)创建module
  • 2)选择gradle模块
  • 3)填写模块名
  • 4)添加context依赖
compile(project(":spring-context"))
  • 5)添加测试内容

参考git地址:https://gitee.com/enzoism/spring-frame-work-5.2.9/tree/master/a-spring-test

  • 6)测试结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值