我的情况:误将config-server的依赖,复制粘贴到了config-client中,导致报错;
如下,客户端和服务端的依赖是不同的 ,一定要注意:
<dependencies>
<!--config server 服务端 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<!--config client 客户端 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
</dependencies>
以下引用自网络:https://www.jianshu.com/p/42e589e0ec0f
1. Could not resolve placeholder 'foo' in value "${foo}"
这两天一直在学习git的配置,一直的报错。发现Server端可以拿到git中的配置信息,但是client端一直拿不到信息还一直报错。看了一下网上的解决方案,发现都是解决不了我的问题,把网上查到的解决方案也分享一下:
- 添加代码Bean
@Bean public static PropertySourcesPlaceholderConfigurer placeholderConfigurer() { PropertySourcesPlaceholderConfigurer c = new PropertySourcesPlaceholderConfigurer(); c.setIgnoreUnresolvablePlaceholders(true); return c; }
添加上之后,不报错了但是拿到的也不是Server的配置文件。
- 版本不对 让自己的版本统一。
- 添加新依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
亲测没有用。
- 修改注册器地址的位置
#eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/ server.port=7917 spring.application.name=spring-cloud-config-clients spring.cloud.config.name=neo-config spring.cloud.config.profile=dev spring.cloud.config.label=master spring.cloud.config.discovery.enabled=true spring.cloud.config.discovery.service-id=spring-cloud-config-server #spring.cloud.config.uri= http://localhost:7916/ eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
- 把
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/
这一句话放到最上方,亲测没有用。 - 查看自己引用的依赖
<groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>
这个依赖是client要使用的,不是
spring-cloud-config-server
千万不要从server那边复制过来直接用了,不是一个依赖。