idea+gradle阅读spring5.2.9源码之源码构建报错解决方案

注意

1、先确保gradle版本和spring、jdk版本对应

本文:gradle:5.6.4/spring 5.2.9/jdk1.8(gradle和jdk都要先安装好,gradle还要配置好本地资源文件路径)

2、原来项目乱了的话,先重新导入下载的源码项目

3、进入源码所在根目录,cmd 先后执行如下2个命令:

gradlew :spring-oxm:compileTestJava

gradlew :spring-core:compileTestJava

4、配置如下idea路径:

 5、运行3命令出现'io.spring.gradle-enterprise-conventions' version '0.0.2' 相关异常的话,可以直接在根目录的build.gradle注释掉它:

 

如下文章参考:Spring源码构建报错-解决方案 - 知乎

  1. Kotlin: warnings found and -Weeror specified
  • 缺少cglib、objenesis包,解决步骤如下:双击加载cglibRepackJar和objenesisRepackJar;

  • 如下操作仅供参考,自己的spring源码至此已经可以debug了:

  • 若上述操作后,依旧报错,可使用如下强制措施,关闭Kotlin的-Weeror校验,删除-Weeror。

2.

java: 找不到符号
符号: 变量 CoroutinesUtils
位置: 类 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar
  • 添加lib包

  • 若kotlin-coroutines目录下未出现build目录,则双击执行compileKotlin

3. Java: 找不到符号 InstrumentationSavingAgent

  • 修改spring-context.gradle,compile(project(":spring-instrument"))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/55550.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git之reflog分析

写在前面 本文一起看下reflog命令。 1:场景描述 在开发的过程中,因为修改错误,想要通过git reset命令恢复到之前的某个版本,但是选择提交ID错误,导致多恢复了一个版本,假定,该版本对应的内容…

【安装】阿里云轻量服务器安装Ubuntu图形化界面(端口号/灰屏问题)

阿里云官网链接 https://help.aliyun.com/zh/simple-application-server/use-cases/use-vnc-to-build-guis-on-ubuntu-18-04-and-20-04 网上搜了很多教程,但是我没在界面看到有vnc连接,后面才发现官网有教程。 其实官网很详细了,不过这里还是…

java程序打包成exe在无java环境执行

最近写了个小工具,但是java写的,给朋友用的时候不能直接用,因此学习了一下java打包成exe。 众所周知,java需要jvm环境,所以打包的时候需要把稍微轻一点的jre打包进去。接下来是详细步骤。 java程序打包成jar 这个在…

Linux性能学习(4.5):网络_TCP四次挥手内核参数优化

文章目录 1 四次挥手2 参数优化2.1 tcp_orphan_retries--->FIN报文重传次数2.2 tcp_max_orphans--->孤儿连接最大数量2.3 tcp_fin_timeout--->FINE_WAIT2状态等待时间2.4 tcp_max_tw_buckets2.5 tcp_tw_reuse--->复用未释放的端口 3 总结 参考资料: 1. …

tiktok批量发布带货视频工具

tiktok批量发布带货视频工具 今天我们来讲一下最新的 29. 6 版本,这个版本新增视频处理功能,该功能主要新增以下内容,可以替换视频的原音频,可以加背景音乐,可以加视频的内置封面,可以加片头视频&#xff…

Linux Day06

目录 一、printf输出问题 二、复制进程fork 2.1进程 2.2 pid_t fork(void); 注意: 2.3逻辑地址和物理地址 2.4写时拷贝技术 一、printf输出问题 printf 函数并不会直接将数据输出到屏幕,而是先放到缓冲区中,只有一下三种情况满 足&a…

Maven发布项目到Nexus私服

项目pom配置 在项目pom.xml中文件中的仓库配置&#xff0c;Nexus私服如何搭建在这里不介绍了可自行百度。 <distributionManagement><repository><id>releases</id><name>Nexus Release Repository</name><url>http://私服地址:34…

STM32 CubeMX USB_CDC(USB_转串口)

STM32 CubeMX STM32 CubeMX 定时器&#xff08;普通模式和PWM模式&#xff09; STM32 CubeMX一、STM32 CubeMX 设置USB时钟设置USB使能UBS功能选择 二、代码部分添加代码实验效果 ![请添加图片描述](https://img-blog.csdnimg.cn/a7333bba478441ab950a66fc63f204fb.png)printf发…

nginx部署以及反向代理多域名实现HTTPS访问

nginx部署以及反向代理多域名实现 1.nginx部署 1.1 编写nginx部署文件 docker-compose.yml version: 3 services: nginx:restart: always image: nginx:1.20container_name: nginx-mainports:- 80:80- 443:443volumes: # 基础配置- /opt/nginx_main/nginx-info/nginx.conf:/…

C++QT教程2——创建QT项目

文章目录 2 创建Qt项目2.1 使用向导创建2.2 手动创建2.3 .pro文件2.4 一个最简单的Qt应用程序main入口函数中&#xff08;main.cpp&#xff09;arnold_widget.h函数arnold_widget.cpp 参考文章 2 创建Qt项目 2.1 使用向导创建 打开Qt Creator 界面选择 New Project或者选择菜…

在IDEA同一个窗口中同时打开多个独立项目

文章说明 本文主要说明如何在Intellij Idea中同时打开多个独立的Maven项目。 我在使用idea的时候&#xff0c;由于自己负责了很多项目&#xff0c;经常要在不通的代码之间切换来切换去。然后搜索代码的时候也只能搜到当前打开的这个项目。因为这个原因&#xff0c;一些小项目…

策略模式:优雅地实现可扩展的设计

策略模式&#xff1a;优雅地实现可扩展的设计 摘要&#xff1a; 策略模式是一种常用的设计模式&#xff0c;它可以帮助我们实现可扩展的、灵活的代码结构。本文将通过一个计算器案例来介绍策略模式的概念、使用场景以及如何在实际项目中应用策略模式来提高代码的可维护性和可扩…