问题

报错信息如下:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

在这里插入图片描述

解决方案

1.检查yml文件配置的数据库相关信息是否正确

容易出错点是url配置错误

spring:
  mvc:
    pathmatch:
      matching-strategy: ANT_PATH_MATCHER
  application:
    name: seeing-api
  datasource:
    druid:
      username: root
      password: 123456
      url: jdbc:mysql://localhost:3306/seeing?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
      driver-class-name: com.mysql.cj.jdbc.Driver
      type: com.alibaba.druid.pool.DruidDataSource

2.maven引入依赖是否完整

检查数据库依赖是否导入成功,在maven->Dependencies中查看依赖下载成功没。

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>${durid.version}</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

3.resources文件未成功build到target目录下

在target目录下无法找到application.yml等文件。
在pom文件中引入以下配置,也可自定义一些include:

<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.yml</include>
                </includes>
                <filtering>false</filtering>
            </resource>

            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.yml</include>
                    <include>**/*.vm</include>
                    <include>**/*.txt</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

    </build>

4.去掉package pom

<packaging>pom</packaging>

5.依赖冲突

采用maven-helper插件,检查依赖冲突
在这里插入图片描述

6.启动类中添加扫码包或者exclude掉信息

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@MapperScan(basePackages = "com.ym.seeing.api.mapper")
public class SeeingApplication {

    public static void main(String[] args) {
        SpringApplication.run(SeeingApplication.class,args);
    }
}

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐