springboot启动报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedded

最近项目升级springboot 2.0.4版本时遇到启动报错,坑了我整整2天,网上也的解决方法也都不行,最后发现是配置文件的问题,希望能帮到跟我遇到同样问题的伙伴:

错误代码:

***************************
APPLICATION FAILED TO START
***************************

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).

Disconnected from the target VM, address: '127.0.0.1:59265', transport: 'socket'

Process finished with exit code 0

常规解决方法:

1.由于新建的项目没有配置数据库连接启动报错,可以通过取消自动数据源自动配置来解决

@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
@SpringBootApplication

2.去配置文件中配置数据库连接参数

3.在springboot 2.0.4版本中(之前用的1.5.4版本没问题,2.0以后好像都有这个问题)application.yml文件中识别不到datasource的配置,这里将application.yml修改为application.properties文件后可以正常解决,但是整个配置文件都要修改,最好的办法还是暂时先不要升级,等后面这个BUG修复后再升级到新版本。

原.yml配置:

spring:
  datasource: # 数据库配置
    type: com.zaxxer.hikari.util.DriverDataSource
    hikari:
      # 指定连接数据库的超时时间
      login-timeout: 10000
      # 指定连接池最大的连接数,包括使用中的和空闲的连接
      maximum-pool-size: 30
      # 指定必须保持连接的最小值
      minimum-idle: 1
      jdbc-url: 数据库链接地址
      username: 用户名
      password: 密码
      driver-class-name: oracle.jdbc.driver.OracleDriver

更改为.properties配置文件后
spring.datasource.url=数据库链接地址
spring.datasource.username=用户名
spring.datasource.password=密码
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.hikari.login-timeout=1000
spring.datasource.hikari.maximum-pool-size=30

 

你可能感兴趣的:(springboot)