最近对nacos版本进行了升级,在使用nacos2.2.x的时候遇到的这个问题:No spring.config.import property has been defined。springboot版本也进行了升级到了版本3.5.x
这个是因为我们在配置中使用bootstrap.yml配置,在新的版本中,如果使用了这个配置,需要添加依赖包:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
另外,如果配置中添加依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
那么在配置中必须添加spring.cloud.nacos.config的相关配置
spring:
cloud:
nacos:
config:
server-addr: 192.168.3.156:8848
file-extension: yaml # 指定远程配置文件格式
namespace: 08d8508e-9967-4edd-a9de-ce283aeb81f7
这是告诉服务从哪里获取配置,而获取配置走的是rpc请求,如果没有配置上面的值,就会报错:
server check fail, please check server 127.0.0.1 ,port 9848 is available , error ={}
如果配置了上面所说的内容,而且服务也启动成功没有报错,但是服务就是注册不上nacos,在nacos后台列表中就是查看不到启动的服务,那么还少一个依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
因为注册到nacos的服务必须是一个web服务