Spring5x源码编译,踩坑,填坑

Spring5x源码编译分为几个步骤

1、准备工作:资源文件下载、对应环境

2、实际操作:环境搭建,踩坑、填坑、构建完成。

3、测试工作:建立test检测是否编译成功,并且能正常输出。

1、准备工作:

(1)spring源码、 jdk1.8以上  、 idea 最好是比较新的,  gradle环境 (本人环境:spring-source-5.2.8、 jdk1.8、idea 2020.3  gradle环境 要和gradle/wrapper/gradle-wrapper.properties 版本对应一致,因为项目是gralde构建的,所以,一定要和版本对应,否则会出现版本不兼容的一些问题,后面会提到 

(2)资源提供:spring源码 :github源码传送门,    gradle下载:  传送门gradle传送门,官方网站有可能比较慢,可以自己在网上找资源     

2、实际操作:

jdk环境就不用说了,我们说下 gradle环境变量配置吧,为啥要配置gradle环境变量,其实和jdk环境变量一个道理。

首页要说下: 你得下载gradle

all和bin的区别,也就是all多了一些文档和samples等等,其实随便下。

下载后别忘记解压:

 

配置环境变量:

修改系统变量path,添加gradle_home

注意一点啊,我这里配置的全局的系统变量是6.0.1版本,其实我的F:\developsoft\mygradle  目录下有2个,其实配置5.6.4也行,但是编译spring-source-5.2.8 一定要和它里面的gradle/wrapper/gradle-wrapper.properties 版本对应一致

,它里面的版本就是gradle-5.6.4-bin.zip

添加完毕自行测试是否成功

 

好了准备spring-source-5.2.8源码,下载完成后打开目录结构 ,一定看几个文件:

请如果是导入idea的请自己一定要阅读一下,import-into-idea.md

1. Precompile `spring-oxm` with `./gradlew :spring-oxm:compileTestJava`  //预编译spring-oxm 模块
2. Import into IntelliJ (File -> New -> Project from Existing Sources -> Navigate to directory -> Select build.gradle)
3. When prompted exclude the `spring-aspects` module (or after the import via File-> Project Structure -> Modules)
4. Code away

(1)源码下下来后,首先加上阿里云的maven地址,并对几处进行修改:

修改settings.gradle文件 

{
   gradlePluginPortal()
   maven { url 'https://maven.aliyun.com/repository/public' }
   maven { url 'https://repo.spring.io/plugins-release' }
}

修改build.gradle文件

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

(2)修改gradle.properties文件

 

version=5.2.8.RELEASE
org.gradle.jvmargs=-Xmx2048M
org.gradle.caching=true
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.daemon=true

(3)Idea kotlin插件安装,高版本已经自动帮你安装了,没有安装请自己安装

(3)预编译spring-oxm 模块,请注意这里是很多人的踩坑第一处

输入命令:gradlew :spring-oxm:compileTestJava

其实第一次会去idea默认的目录去找,找不就会下载;windows基本上都是这个目录:为啥我的目录下面这么多,就不要管了,这是我之前做的项目遗留下来的缓存。

其实下载的时间因网络和一些问题,有可能很久或者根本下不来,那就这么耗着吗?对的第一种方式就是这样,下载等着,或者上代理。

还有第二种方式,我比较推荐,修改本地的gradle地址:

为啥它会去下载?其实跟这个文件很有关系:gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip  我将它修改成为了我本地的,我已经在上面提到过了
distributionUrl=file\:///F\:developsoft/mygradle/gradle-5.6.4-bin.zip   

这个时候你在执行gradlew :spring-oxm:compileTestJava   很快就会完成。其实你也可以在idea里执行这个命令

还要修改idea 这个项目 gradle的配置,之前我们修改了distributionUrl为本地的,所以也要修改idea,告诉它这个项目我们都是用本地的。否则它就找不到,它就会编译不过,提示你去C:\Users\Administrator\.gradle找

,找不到又回去下载,然后你就会卡在那里等待下载,

修改如下:

完成后 倒入代码到idea,在经历30分钟左右我的源码就编译好了。

好了,构建成功,我们进入测试

3、测试工作

建立demo ,选择gradle构建  ,因为我们要依赖spring源码的构建

 

建立测试类

点击运行:测试成功

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值