Nacos作为配置中心报错:Param ‘serviceName‘ is illegal, serviceName is blank

最近在玩Nacos的时候,按照Nacos官方的文档配置了Nacos的测试代码。官方参考文档:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html

官方文档让我们把服务的名字和配置中的配置写在bootstrap.properties里面。但是,运行工程总是报错,说的serviceName非法,不能为空,如下:

java.lang.IllegalArgumentException: Param 'serviceName' is illegal, serviceName is blank
	at com.alibaba.nacos.api.naming.utils.NamingUtils.getGroupedName(NamingUtils.java:47) ~[nacos-api-1.4.1.jar:na]
	at com.alibaba.nacos.client.naming.NacosNamingService.subscribe(NacosNamingService.java:457) ~[nacos-client-1.4.1.jar:na]
	at com.alibaba.cloud.nacos.discovery.NacosWatch.start(NacosWatch.java:123) ~[spring-cloud-starter-alibaba-nacos-discovery-2021.1.jar:2021.1]
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) [spring-context-5.3.3.jar:5.3.3]
	at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) [spring-context-5.3.3.jar:5.3.3]
	at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) [spring-context-5.3.3.jar:5.3.3]
	at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_91]

测试环境

os:Windows10
SpringBoot:2.4.2
SpringCloud:2020.0.0
SpringAlibaba:2021.1
Nacos服务器:2.0.2

bootstrap.properties配置

spring.application.name=provider-service
spring.cloud.nacos.config.server-addr=192.168.31.207:8848

解决办法

经过好几番折腾,发现在高版本的SpringCloud下bootstrap.properties文件没有被系统读取到。是不是高版本的SpringBoot默认不读取bootstrap.properties这个文件了?(感觉也不可能呀,官网上也没看到。有没有知道的大佬可以告知下,这里谢过先。)

最后引入依赖后,bootstrap.properties启动的时候才被是被带,SpringCloud整和Nacos做配置中心才起效

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

猜你喜欢

转载自blog.csdn.net/qq_27062249/article/details/118462289