JHHK

欢迎来到我的个人网站
行者常至 为者常成

报错收集

目录

配置了Druid但无法启动

SpringBoot版本是3.2.5

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

Druid版本是:

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.0</version>
        </dependency>

配置文件中配置了使用Druid

  datasource:
    druid:
      url: jdbc:mysql://localhost:3306/HelloSpring?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
      username: root    # mysql 登录用户名
      password: 123456  # mysql 登录密码
      driver-class-name: com.mysql.cj.jdbc.Driver # MySQL驱动,Java连接MySQL必需

启动失败,并且报错找不到datasource.url。
查看启动时的相关日志,发现Druid并没有配置成功,而是使用的默认的Hikari。
失败原因: SpringBoot 3.2.5与druid-spring-boot-starter不兼容。
使用下面的版本解决问题。

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-3-starter</artifactId>
            <version>1.2.28</version>
        </dependency>

BeanNotOfRequiredTypeException

报错

BeanNotOfRequiredTypeException: ddlApplicationRunner
expected: Runner
actual: NullBean

原因:
MyBatis-Plus 代码生成器里的 ddlApplicationRunner Bean 返回了 null,Spring Boot 3 不允许 → 启动直接失败

解决:
移除了这个依赖

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.3.1</version>
        </dependency>

移除后仍然报相同的错误。
然后又修改了mybatis-plus-boot-starter版本,从3.5.3.1修改为3.5.5

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.5</version>
        </dependency>

问题解决了。
本质还是:SpringBoot 3.2.5 与依赖库的版本兼容问题。


行者常至,为者常成!





R
Valine - A simple comment system based on Leancloud.