Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasourc
Posted 枫叶艾辰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasourc相关的知识,希望对你有一定的参考价值。
一、问题背景
利用Nacos作为配置中心和注册中心,将数据库配置放在项目的yml文件时正常输出,放在Nacos配置中出现如下问题
二、报错截图如下
三、我的项目配置如下
#微服务配置
spring:
application:
name: content-api # 服务名content-api-dev.yaml
cloud:
nacos:
server-addr: 127.0.0.1:8848
discovery: #服务注册相关配置
namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
group: xuecheng-plus-project
# server-addr: 127.0.0.1:8848
config: #配置文件相关配置
namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
group: xuecheng-plus-project
file-extension: yaml
refresh-enabled: true
profiles:
active: dev # 环境名称
四、分析问题
(1) 利用nacos客户端获取配置
@Test
void contextLoads()
try
Properties properties = new Properties();
properties.put("serverAddr", "127.0.0.1:8848");
properties.put("namespace", "d30c3e20-af6b-4bd5-9993-d4a9eacaedad");
ConfigService configService = NacosFactory.createConfigService(properties);
String contentInfo = configService.getConfig("content-api-dev.yml", "xuecheng-plus-project", 1000L);
System.out.println("contentInfo:" + contentInfo);
catch (NacosException e)
throw new RuntimeException(e);
说明Nacos配置正常,可以获取
五、问题原因
日志中dataId是content-api.yaml, 而Nacos中配置文件名称是content-api-dev.yml,仔细对比yml后发现file-extension属性写错了yaml
(2)出现加载的配置是父模块中application.properties中定义的应用名称,处理方式是在子模块处同样加个application.properties文件,即使是空的
六、解决方式
修改后的yml配置,将file-extension属性换成了yml
#微服务配置
spring:
application:
name: content-api # 服务名content-api-dev.yaml
cloud:
nacos:
server-addr: 127.0.0.1:8848
discovery: #服务注册相关配置
namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
group: xuecheng-plus-project
config: #配置文件相关配置
namespace: d30c3e20-af6b-4bd5-9993-d4a9eacaedad
group: xuecheng-plus-project
file-extension: yml
refresh-enabled: true
profiles:
active: dev # 环境名称
以上是关于Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasourc的主要内容,如果未能解决你的问题,请参考以下文章
struts报错严重: Dispatcher initialization failed Unable to load configuration.
Failed to upgrade Oracle Cluster Registry configuration(root.sh)
安装Intel HAXM:"failed to configure driver unknown error. failed to open driver"
Failed to configure a DataSource 'url' attribute问题解决
springboot启动报错:Failed to configure a DataSource
Springboot Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded