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了一下,发现大部分的解决办法都属于以下三种:
- 项目本身不需要数据库相关配置,直接在项目的主函数上添加@springbootapplication(exclude = datasourceautoconfiguration.class )注解
- 项目需要使用数据库,但是配置文件(application.properties/application.yml)中没有相关数据库配置
- 项目中配置了数据库相关属性,但是配置错了(比如url格式异常),导致配置文件无效,其效果类似第2点
但是我挨个排查了下,发现我的这种情况不属于以上三种,项目需要使用数据库相关配置,在配置文件中也添加了正确的数据库配置属性,配置如下:
排查
根据项目启动时的错误提示,可以看出spring boot服务在启动时确实是没有获取到数据库的url属性,但是我明明在配置文件中配置了相关信息的啊。最后找到这篇博客,发现是yml文件或者properties文件没有在pom文件中配置,所以扫描不到,因此系统给了这个错误提示。
解决
在pom文件中添加上这个文件即可,具体可见下列代码。问题得以解决
思考
大家后续看到这个问题,可以按照如下思路优先排查下
- 配置文件是否已经添加到pom文件中,如果没有,添加下即可
- 已添加到pom文件中,那需要看项目是否需要数据库相关配置,不需要的话,注释掉相关引入并在项目的主函数上添加@springbootapplication(exclude = datasourceautoconfiguration.class )注解即可
- 需要引入数据库,那需要看下url是否格式正确,相关驱动是否输入正确。
- 作者:luxinfeng
- 链接:https://www.luxinfeng.top/article/20221009
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。