当前位置: 首页 > 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,重新构建问题解决。

相关文章:

  • 高压电绝缘子破损目标检测数据集简介与应用
  • `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信号与槽机制深度解析
  • 平台网站开发/网站的推广方式有哪些
  • 南京建设工程网站/营销型网站有哪些
  • 怎么做分享网站/国外网站
  • 巨野做网站的/seo平台优化服务
  • 成都大型商城网站建设/网页生成
  • 延吉网站建设彩票/个人域名注册流程