当前位置: 首页 > news >正文

Error creating bean with name *.PageHelperAutoConfiguration 异常解析

一、问题报错

微服务安装成功,启动失败,报错如下:

二、 Spring Boot应用启动错误分析

错误概述

这是一个Spring Boot应用启动过程中出现的Bean创建错误。根据错误堆栈,主要问题在于无法创建PageHelper分页插件的自动配置类。

详细错误信息

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration'
...
nested exception is java.lang.NoClassDefFoundError: net/sf/jsqlparser/statement/select/SelectBody

问题原因

这个错误的核心是​​类未找到异常​​(NoClassDefFoundError):

  • 应用试图加载PageHelper的自动配置类(PageHelperAutoConfiguration)
  • 但是缺少net.sf.jsqlparser.statement.select.SelectBody
  • 这个类属于jsqlparser库,是PageHelper分页插件运行所必需的依赖

解决方案

1)Maven构建

  1. ​添加jsqlparser依赖​​(如果项目中尚未添加)

    <dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>3.2</version> <!-- 或更新版本 -->
    </dependency>
  2. ​检查依赖冲突​​:如果已经添加了jsqlparser依赖,可能是版本兼容性问题,尝试更新到与PageHelper兼容的版本

  3. ​重新构建项目​​:确保依赖被正确下载并打包

2)使用Gradle检查依赖问题

以下是使用Gradle检查此问题的几种方法:

1. 检查依赖树

运行以下命令查看完整的依赖树,找出是否有依赖冲突或缺失:

./gradlew :<your-project-module>:dependencies --configuration runtimeClasspath

查找jsqlparser库,确认它是否被正确引入,以及是否有版本冲突。

2. 检查PageHelper和jsqlparser版本兼容性

确认你使用的PageHelper版本与jsqlparser版本是否兼容。例如,如果使用PageHelper 1.2.5+,通常需要jsqlparser 3.1+。

3. 查看具体的依赖配置

检查你的build.gradle文件中有关PageHelper的配置:

dependencies {implementation 'com.github.pagehelper:pagehelper-spring-boot-starter:x.x.x'// 或者单独引入implementation 'com.github.pagehelper:pagehelper:x.x.x'
}

4. 强制指定jsqlparser版本

如果发现有多个版本的jsqlparser被引入,可以强制指定一个兼容版本:

configurations.all {resolutionStrategy.force 'com.github.jsqlparser:jsqlparser:x.x.x'
}

5. 使用依赖报告

生成详细的依赖报告进行分析:

./gradlew :<your-project-module>:dependencyInsight --configuration runtimeClasspath --dependency com.github.jsqlparser:jsqlparser

修复依赖问题后,重新构建并启动应用应该能解决该异常。

三、结论

       经检查项目由gradle构建已经引入pagehelper-spring-boot-starter 从1.4.6为 版本不兼容所致,升级到:2.1.0,重新构建问题解决。


文章转载自:

http://Wg7yISB2.wrcym.cn
http://WTReHon6.wrcym.cn
http://m9vaNqPu.wrcym.cn
http://DfLgSjRr.wrcym.cn
http://J413mTbp.wrcym.cn
http://fpMXh3zD.wrcym.cn
http://x1qUy07t.wrcym.cn
http://UOXXjmwQ.wrcym.cn
http://zLgmFWnp.wrcym.cn
http://zZ2w8TrL.wrcym.cn
http://0v54alB7.wrcym.cn
http://0ZuXW2sf.wrcym.cn
http://geKpICUN.wrcym.cn
http://kNKPoib8.wrcym.cn
http://tXkylK3x.wrcym.cn
http://cNE2cuo7.wrcym.cn
http://DPgPADsa.wrcym.cn
http://hgn0R7e8.wrcym.cn
http://X6Yb6n3Y.wrcym.cn
http://4CKFkSvF.wrcym.cn
http://LTumk0n3.wrcym.cn
http://OregAFPE.wrcym.cn
http://xZ3QwvcD.wrcym.cn
http://ITJkyVIG.wrcym.cn
http://JJzAfJZc.wrcym.cn
http://lVQyXfXb.wrcym.cn
http://gWMxSq09.wrcym.cn
http://jXqy76to.wrcym.cn
http://h5MPrTu5.wrcym.cn
http://TCh7dFOk.wrcym.cn
http://www.dtcms.com/a/227357.html

相关文章:

  • 高压电绝缘子破损目标检测数据集简介与应用
  • `docker run`、`docker start`、`docker exec` 区别
  • QT之头像剪裁效果实现
  • Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String
  • 多维度健康护理:为进行性核上性麻痹患者护航
  • 前端面试准备-6
  • 网络攻防技术四:网络侦察技术
  • 线段树刷题记录
  • Langchian - 自定义提示词模板 提取结构化的数据
  • 每天掌握一个Linux命令 - hping3
  • Windows 账号管理与安全指南
  • 【深度学习新浪潮】以Dify为例的大模型平台的对比分析
  • Torch Geometric GCN训练心得
  • selenium-自动更新谷歌浏览器驱动
  • 从多巴胺的诱惑到内啡肽的力量 | 个体成长代际教育的成瘾困局与破局之道
  • NLP学习路线图(十九):GloVe
  • 香橙派3B学习笔记5:Linux文件系统分区_A/B系统分区
  • 【C++】23. unordered_map和unordered_set的使用
  • 【深度学习新浪潮】多模态模型如何处理任意分辨率输入?
  • Qt信号与槽机制深度解析
  • 图像任务中的并发处理:线程池、Ray、Celery 和 asyncio 的比较
  • Posix API
  • FPGA仿真中阻塞赋值(=)和非阻塞赋值(<=)区别
  • SystemVerilog—Interface语法(二)
  • 【性能调优系列】深入解析火焰图:从基础阅读到性能优化实战
  • 汽车软件 OTA 升级技术发展现状与趋势
  • uniApp页面交互
  • MySQL DDL操作全解析:从入门到精通,包含索引视图分区表等全操作解析
  • 需求调研文档——日志文件error监控报警脚本
  • 大数据学习(127)-hive日期函数