spring 源码 找不到 taskprovider_一步一步构建Spring5源码

点关注,不迷路;持续更新Java相关技术及资讯!!!

7396d7bfb68f080dfe64f44d9373b237.png

构建环境

  • macOS 10.13.6
  • JDK1.8
  • IntelliJ IDEA 2018.3.6 (Ultimate Edition)
  • Spring v5.1.9.RELEASE
  • Gradle 5.5.1。直接使用brew安装Gradle brew install gradle

源码构建

源码导入

211395c804a8c2b4d7633fba127de11f.png

阅读Spring源码下的 import-into-idea.md 文件可知

Precompile spring-oxm with ./gradlew :spring-oxm:compileTestJava

3f33b0c8789eeeb4dcacf8a219eea4b4.png

修改 gradle/docs.gradle 脚本 一开始尝试直接构建Spring源码,在构建的过程中会报错,通过修改docs.gradle 脚本,注释 dokka 和 asciidoctor

549e7be79e744bd8f8b61fb2b83d8b9a.png

源码构建

dcdf99c4967a29efdb5ce2dc9b2e2b37.png

等了好长好长的时间,终于构建完成了。

在Spring项目中新增一个自己的module,尝试运行hello world,引入spring-context 依赖compile(project(":spring-context"))

0af66b1d2289ba8a43496bb12fd0b6f4.png

运行main方法,发现报错

Error:(160, 32) java: 找不到符号 符号: 变量InstrumentationSavingAgent 位置:

c9d70525af5395b71a5858d02dd5c158.png

网上搜索了一大堆的解决方法,发现都不行。后来看了spring-context的依赖发现,spring-instrument 在 spring-context 中为 optional 依赖(optional(project(":spring-instrument")) ),于是在自己的模块中添加spring-instrument依赖

d300b8f06529346f566d0d63a3f35bb4.png

再次运行main方法,程序运行成功。

为了感谢支持我的朋友!整理了一份Java高级架构资料、Spring源码分析、Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式等资料

关注公众号:Java大型网站架构(免费获取)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值