Spring源码编译及错误解决

一.概要

  1. 本文旨在讲述Spring源码环境的搭建以及搭建过程中遇到的问题的解决

二.环境要求

注:任意组件版本的不同都会导致新的问题出现,如果遇到因版本问题引发的错误,还需自行解决

  1. JDK1.8
  2. Gradle5.1.1
  3. Eclipse Neon.3 Release (4.6.3)
  4. Spring v5.1.5.RELEASE
  5. Git-2.20.1-64-bit

三.搭建步骤

  1. 安装JDK1.8(具体步骤请参考网络)
  2. 安装Gradle5.1.1(具体步骤请参考网络)
  3. 下载Eclipse
  4. Eclipse安装Groovy插件:(http://dist.springsource.org/release/GRECLIPSE/e4.6/):
    在这里插入图片描述
  5. Eclipse安装Buildship Gradel Integration 3.0插件:
    在这里插入图片描述
  6. Eclipse安装AspectJ Development Tools 2.2.4插件:
    在这里插入图片描述
  7. 利用Git获取Spring源码:(git clone https://github.com/spring-projects/spring-framework.git)
  8. 使用命令行(cmd模式)进入获取的spring-framework目录下执行如下命令:
    ①.gradle cleanidea eclipse(将spring项目编译为Eclipse工程)
    ②.gradle genJaxb(获取Spring源码中缺少的jar包)
    ③.gradle objenesisRepackJar(获取Spring源码中缺少的jar包)
    ④.gradle cglibRepackJar(获取Spring源码中缺少的jar包)
  9. 将编译好的项目import到Eclipse编译器,使用导入Gradle项目,其中注意下图的选择:
    在这里插入图片描述

四.错误解决

  1. 由于之前安装好多插件及jar包的导入,所以会减少很多不必要的错误
  2. 唯一存在错误的地方是spring-wenflux模块下org.springframework.web.reactive.function.server包下的RouterFunctionsTests类,只需要增加强制类型转换即可:
    在这里插入图片描述在这里插入图片描述

五.调试学习Spring源代码

  1. 之后即可在项目中创建类,使用Spring的相关功能进行Debug学习源代码了
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译Spring源码,你需要先安装JDK并下载Spring源码。你可以从Spring官方的GitHub库中下载源码,链接是https://github.com/spring-projects/spring-framework。如果你觉得下载速度慢,也可以使用这个已经下载好的链接:https://pan.baidu.com/s/18lEeQCwQKo1E4bli4SAJ2A 提取码:dvda。一旦你下载好了源码,你可以按照以下步骤进行编译: 1. 配置好JDK环境变量,确保你可以在命令行或终端中运行JavaJavac命令。 2. 打开命令行或终端,进入到你下载好的Spring源码的根目录。 3. 运行命令`./gradlew build`(对于Windows系统,运行`gradlew.bat build`),这将使用Gradle构建项目并编译源码。 4. 等待编译完成,你可以在构建目录中找到生成的编译结果。 请注意,编译Spring源码可能需要一些时间和计算资源,同时也需要一些基本的编译知识和工具配置。建议你在编译之前先阅读Spring官方文档中关于构建和编译的指南,以确保你有必要的环境和了解编译的要求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [spring源码编译](https://blog.csdn.net/jiayoubaobei2/article/details/127311223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [spring源码编译完整版](https://blog.csdn.net/qq_39409977/article/details/107904932)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值