解决springboot 启动异常 read-action leads to possible deadlock

springboot 启动异常 read-action leads to possible deadlock 解决

解决UnifyWorkFaceApplication' 时出错: Calling invokeAndWait from read-action leads to possible deadlock.  中文意思 读取操作可能被锁住了(死锁)

异常背景

事情是这样的,我这有个项目涉及到一些算法问题,我不擅长,也忙不过来。领导让算法的同事来搞,但是呢,这位同事主要是搞c++的,java代码只会基础,大型的web项目不会弄,没有用过maven和idea!我帮同事的电脑,安装好IDE环境后,把我的项目代码打包发给同事,同事启动项目报这个异常问题,已经出现两次了,上次花了半个小时解决了,但是当时没留意问题,导致这次又花了20分钟才找到原因解决。这是个少见的问题之前都没有遇到过,问题还竟能复现,所以感觉有必要记录下来,方便下次再遇到,能快速解决,也为遇到此异常广大网友,提供一些内容!!!

解决过程

首先我先检查同事的项目的maven 配置

File >> settings >> maven

配置好maven插件和maven 本地仓库后,重新编译。

 其次检查 项目结构里的 jdk版本依赖是否正确

项目右键 》》project structure

 都检查,修改正确后,依然报错,最后代开spring boot 的启动泪配置

 修改 JRE 选项,改为正确版本的jdk后,启动成功!!!

总结

这个异常的原因是,是因为对方的idea编辑器中的module sdk 的jdk版本和启动类配置中jre版本不匹配导致,修改为一直的版本后,即可正常编译启动!!!

相关知识

Spring Boot是一个开源的Java框架,它基于Spring框架,并提供了简化的配置和开发方式,旨在加快构建独立、生产级别的Spring应用程序的速度和效率。

下面是对Spring Boot的详细解释:

  1. 简化配置:Spring Boot采用约定大于配置的原则,通过自动配置来减少开发人员的配置工作。它根据应用程序的依赖关系和类路径中的资源自动配置Spring应用程序的行为。

  2. 内嵌容器:Spring Boot内置了常用的Servlet容器(如Tomcat、Jetty),使得应用程序可以以独立的方式运行,无需额外部署到外部容器。

  3. 自动化依赖管理:Spring Boot通过提供一组“Starter”依赖项,简化了依赖管理的过程。这些Starter依赖项预先定义了常见场景下所需的依赖关系,只需将相关的Starter依赖项添加到项目中,即可自动导入所需的所有依赖。

  4. 健康检查和监控:Spring Boot提供了健康检查和监控端点,可以通过HTTP请求来获取应用程序的健康状态、性能指标和其他管理信息,方便进行运维和监控。

  5. 统一的日志处理:Spring Boot支持多种日志框架,并提供了统一的日志配置方式。开发人员可以轻松地将所需的日志框架集成到应用程序中,并进行灵活的配置和管理。

  6. 集成测试支持:Spring Boot提供了对单元测试和集成测试的支持,可以方便地编写和执行各种类型的测试,确保应用程序的质量和稳定性。

  7. 外部化配置:Spring Boot允许将配置信息从应用程序代码中分离出来,以外部化形式进行管理。通过属性文件、YAML文件、环境变量等方式,可以灵活地配置和管理应用程序的行为。

总而言之,Spring Boot是一个简化了Spring应用程序开发的框架。它通过约定大于配置、自动化依赖管理、内嵌容器等特性,提供了快速构建独立、生产级别的Spring应用程序的能力。Spring Boot还提供了健康检查、监控、统一日志处理等功能,使得开发人员可以更专注于业务逻辑的开发,而无需过多关注底层配置和设置。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泰山AI

原创不易,感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值