🗒️Spring Boot项目读取不到配置文件中的“url“属性
00 分钟
2022-10-9
2024-6-29
type
status
date
summary
slug
tags
category
password
URL
icon
最近新起了一个spring boot项目,配置了MySQL作为项目的数据库。但是在项目启动时,报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could found。

背景

新起的spring boot项目启动时报错如上,针对上述报错,google了一下,发现大部分的解决办法都属于以下三种:
  1. 项目本身不需要数据库相关配置,直接在项目的主函数上添加@springbootapplication(exclude = datasourceautoconfiguration.class )注解
  1. 项目需要使用数据库,但是配置文件(application.properties/application.yml)中没有相关数据库配置
  1. 项目中配置了数据库相关属性,但是配置错了(比如url格式异常),导致配置文件无效,其效果类似第2点
但是我挨个排查了下,发现我的这种情况不属于以上三种,项目需要使用数据库相关配置,在配置文件中也添加了正确的数据库配置属性,配置如下:

排查

根据项目启动时的错误提示,可以看出spring boot服务在启动时确实是没有获取到数据库的url属性,但是我明明在配置文件中配置了相关信息的啊。最后找到这篇博客,发现是yml文件或者properties文件没有在pom文件中配置,所以扫描不到,因此系统给了这个错误提示。

解决

在pom文件中添加上这个文件即可,具体可见下列代码。问题得以解决

思考

大家后续看到这个问题,可以按照如下思路优先排查下
  1. 配置文件是否已经添加到pom文件中,如果没有,添加下即可
  1. 已添加到pom文件中,那需要看项目是否需要数据库相关配置,不需要的话,注释掉相关引入并在项目的主函数上添加@springbootapplication(exclude = datasourceautoconfiguration.class )注解即可
  1. 需要引入数据库,那需要看下url是否格式正确,相关驱动是否输入正确。
上一篇
2022年度总结与2023未来规划
下一篇
记一次服务部署失败问题排查