今天配置动态拉取Nacos Config,写完NacosController时启动Spring Cloud时报错:
Could not resolve placeholder 'name' in value "${name}"
第一次尝试解决:
百度之后查询到以下原因:
springboot启动时会检索 @Value 对应配置文件中的key,当该key不存在时就会报:Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder异常,有以下解决方案:
设置 @Value 的默认值
@Value("${name:default_name}")
private String name;
上面代码中,当配置文件中 name key 不存在时,就会使用“default_name”作为默认值,key 与默认值用“:”符号分割。
结果:
确实可以启动成功,但是我需要的是动态拉取,遂寻找别的方法。
第二次尝试解决:
1. 把没有用到spring-cloud-starter-alibaba-nacos-config依赖的模块中pom.xml所有的nacos-config依赖删除
2. 删除所有target以及浏览器缓存
3. 将Nacos配置管理中的xx