当前位置: 首页 > 知识库问答 >
问题:

Spring:配置DataSource失败:未指定'url'属性,无法配置嵌入式数据源

郭乐湛
2023-03-14

一直致力于使用Spring开发微服务。我已经成功地写了几个,但是,最后一个失败了,我不知道为什么。

Description:

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

我的申请。属性:

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/Sat
spring.datasource.username=user_auto
spring.datasource.password=

(别担心,密码包含在application.properties)

已尝试添加和删除:

Spring自动配置。排除=组织。springframework。靴子自动配置。jdbc。数据源自动配置

我的pom。xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.8</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.sat.serviciodescargamasiva.automatizador</groupId>
    <artifactId>automatizador</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>automatizador</name>
    <description>Servicio de automatizador del SAT</description>
    <properties>
        <java.version>11</java.version>
        <spring-cloud-gcp.version>3.2.1</spring-cloud-gcp.version>
        <spring-cloud.version>2021.0.2</spring-cloud.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>spring-cloud-gcp-starter-storage</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.google.cloud</groupId>
                <artifactId>spring-cloud-gcp-dependencies</artifactId>
                <version>${spring-cloud-gcp.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

我的主要:

@SpringBootApplication公共类AutoApplication{

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

}

我正在用IntelliJ编写代码。救命,我不知道该怎么办!我想我已经用完了可能的解决方案。

提前感谢您的时间!

共有1个答案

戚奇略
2023-03-14

尝试删除此依赖项:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

我不确定它是否可以与mysql驱动程序结合使用:

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

您也可以尝试更改此选项:

spring.datasource.driver-class-name -> spring.datasource.driverClassName

或者,根据Baeldung,将其更改为:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 类似资料:
  • 我已经检查了所有类似的问题,每个答案都说我需要指定一个driverClassName,我已经这样做了。这是我的申请表。yml: 我错过了什么吗?奇怪的是,我的一个有相同代码的同学可以很好地启动应用程序。这就是为什么我认为这与路径有关。也许Spring没有访问yml文件。我把它包含在src.main.resources中,这是Spring查找它的默认位置。这是堆栈跟踪: 这是Gradle构建,我被要

  • 我正在尝试实现使用2个数据库的Spring应用程序。我尝试了这个: 应用属性 配置Bean: 但是当我启动应用程序时,我收到错误: 你知道我如何解决这个问题吗?

  • 我正在使用MongoDB开发一个Spring Boot批处理示例,并且我已经启动了服务器。 当我启动我的应用程序时,我得到下面的错误。 对这个问题有什么建议吗? 应用特性: pom.xml 我用以下输出启动了:

  • 编辑问题以包括所需的行为、特定问题或错误,以及再现问题所需的最短代码。这将帮助其他人回答这个问题。 我的application.properties是: 当我进行maven Build并尝试运行主SpringBoot类时,我收到以下消息:

  • 我的spring boot项目不需要datasource配置,但当我运行它时,出现了错误: 申请启动失败 描述:配置数据源失败:未指定“url”属性,无法配置嵌入式数据源。 原因:无法确定合适的驱动程序类别 行动: 考虑以下内容:如果您想要一个嵌入式数据库(H2、HSQL或Derby),请将其放在类路径上。如果您有要从特定配置文件加载的数据库设置,您可能需要激活它(当前没有活动的配置文件) 我的a

  • 我在pom下面有这个。xml文件。我在尝试运行应用程序时收到此错误消息。未能配置数据源:“url”属性未指定,无法配置嵌入式数据源。 我在谷歌上搜索过,很少有人说这个问题不应该出现在内存数据库版本中,比如H2、Derby等。然而,我遇到了这个问题。 尝试更新application.properties 和 但是没有喘息的机会。请让我知道我错过了什么/在哪里。