今天在访问nacos的时候发现一个问题,启动的时候报错no available server,然后发现一直连接的localhost:8848,但是本地的配置文件中是没有配置localhost的nacos地址,具体错误信息如图
分析可能的原因有如下几个:
1、首先判断Nacos服务器的版本与spring cloud alibaba的版本是否匹配,如果不匹配要换成匹配的版本。
2、nacos配置文件中的discovery和config依赖都存在的话,两者配置要相同。
3、pom文件中需要有nacos的相关依赖
4、引用的其他包中含有的配置文件是bootstrap.yml,而项目中使用的是application.yml,其他包中的bootstrap.yml中配置的是localhost:8848,由于bootstrap.yml的优先级高于application.yml,导致项目中的配置无效。这时候需要在项目中配置一个bootstrap.yml文件,覆盖其他依赖包中的bootstrap.yml配置。
5、POM文件中加了resource里面配置的是application.yml,而实际项目中配置的是bootstrap.yml,导致无法把正确的配置文件打包到jar包里。所以建议不要配置resource,如果配置了要与实际的情况保持一致,如果resource中的路径或者文件不存在,也会导致配置文件无法正常加载。
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>application.yml</include>
<include>application-${build.profiles.active}.yml</include>
<include>logback-spring.xml</include>
</includes>
<targetPath>../config</targetPath>
<filtering>true</filtering>
</resource>
</resources>