Spring Boot报 Action: Consider the following: If you want an embedded database (H2, HSQL or Derby)...

异常:

        Spring Boot项目启动不成功报


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
 
 
Action:
 
Consider the following:
	If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
	If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

首先检查生成的 target 文件中是否包含了你在resources 中编写的的配置文件 application.yml等等,若没有包含,而你的项目中却需要调用就会报此异常,你可以添加以下代码至pom.xml中。里面的.properties可以视你的配置文件后缀名所定。

  <build>
    <!--idea  识别.xml  指定资源的位置-->
    <resources>
      <resource>
        <directory>src/main/java</directory><!--所在目录-->
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
      </resource>
      <resource>
        <directory>src/main/resources</directory><!--所在目录-->
        <includes>
          <include>**/*.yml</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>
  </build>

再者还有可能是因为spring boot 会默认加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration这个类,而DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean,又因为项目(eureka-server模块和短信模块)中并没有关于dataSource相关的配置信息,所以当spring创建dataSource bean时因缺少相关的信息就会报错。

解决方法就是在启动类头上加行代码。

@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class SpringBootApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(SpringBootApplication.class, args);
    }
}

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
要选择一个嵌入式数据库,例如H2,HSQLDerby,需要考虑以下几点: 1. 功能和性能:首先要评估所需的功能和性能需求。嵌入式数据库不同于传统的客户端-服务器数据库,通常被用于单用户或小规模应用中。因此,需要根据具体情况选择适合的数据库。H2、HSQLDerby都是面向嵌入式应用的数据库,提供了高度的灵活性和出色的性能。 2. 适应性和易用性:考虑数据库的适用性和易用性对于开发人员来说也是非常重要的。需要考虑的因素包括开发工具、文档和社区支持等。H2、HSQLDerby在这方面都有很好的表现,提供了易于使用和广泛的文档和社区支持。 3. 数据一致性和可靠性:对于数据库来说,数据一致性和可靠性是至关重要的。嵌入式数据库需要能够保证数据的一致性和可靠性,在应用程序崩溃或断电等异常情况下能够正确处理数据。H2、HSQLDerby都提供了事务支持和数据持久化功能,可以保证数据的完整性和可靠性。 4. 可扩展性和兼容性:考虑到未来可能的需求变化,数据库的可扩展性和兼容性也是需要考虑的因素。可以评估数据库的扩展性和兼容性,看是否能够轻松地支持未来的需求变化。H2、HSQLDerby都提供了良好的兼容性和扩展性,可以满足大多数嵌入式应用的需求。 总之,要选择一个合适的嵌入式数据库,需要综合考虑功能性能、适应性易用性、数据一致性可靠性以及可扩展性兼容性等因素。根据具体的需求和情况,可以选择H2、HSQLDerby中的一个作为嵌入式数据库。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

We Never say die

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值