spring源码编译完整版

Spring源码编译

环境及版本介绍

  • JDK------1.8及以上
  • spring版本,在此,本人选择的是5.2.0的版本
  • 开发工具,本人使用的时IDEA,工具版本不影响

编译前的准备

  1. 安装JDK(安装方法网上很多,自己查找安装)
  2. 下载spring源码,可以从spring官方的github库中(https://github.com/spring-projects/spring-framework)进行下载。由于需要从国外下载,速度可能会慢,在此提供一个下载好的(链接:https://pan.baidu.com/s/18lEeQCwQKo1E4bli4SAJ2A
    提取码:dvda)

编译源码

  1. 使用Gradle来预编译spring-oxm(Gradle是个构建系统,能够简化你的编译、打包、测试过程,可以类比成Maven)Gradle的子项目工具gradle wrapper的作用就是简化Gradle本身的安装、部署。因为不同项目可能需要不同的Gradle,手工部署的话比较麻烦,而且可能产生冲突,所以需要Gradle Wrapper搞定这些事。

  2. 解压spring源码包,为了使得GradleWrapper更快连接服务器,在解压的文件中找到build.gradle文件,修改其镜像
    在这里插入图片描述

  3. 在build.gradle文件中修改的步骤:
    a 、plugins上方,buildscript里面加入

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

在这里插入图片描述
b、在resolutionStrategy下方,configurations.all上方加入

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" }
		}

在这里插入图片描述

  1. 执行指令预编译spring源码(可能需要耗时几十分钟,看网速)
    进入命令行终端cmd,通过命令行进入到spring源码文件路径,执行.bat文件,执行命令行如下:

    gradlew.bat :spring-oxm:compileTestJava

在这里插入图片描述
5.如果编译成功,或者试了很多次都是超时问题,则可以直接打开idea,由于idea自带
Gradle插件(也可以额外配置安装上)先将项目导入

在这里插入图片描述
在这里插入图片描述
直接在idea上操作,如果导入的时候出现某些jar下载超时。

在这里插入图片描述
可以直接点击该jar的下载链接尝试下载,下载完成后,需要找到gradle默认的保存的repository路径,具体可以打开idea->setting->build,Execution,Deployment->Gradle->gradle user home去找到相关路径。
在这里插入图片描述

随后,去到.gradle目录下的cachesmodules iles-2.1目录中,按照url路径进入目录,将下载的jar包拷贝到这里面。

针对于刚才编译成功的,到这里直接在idea里面refresh就完成源码的编译了

针对于没有编译直接先用idea导入的,到这一步之后,也可以在原来的cmd路径下面执行

 gradlew.bat :spring-oxm:compileTestJava

重新编译,之后点击刷新按钮reimport项目就可以了(如果先前已成功,则直接在idea里面refresh就好了)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值