【发布时间】:2021-04-18 13:45:12
【问题描述】:
我的 git 存储库中的应用程序文件的层次结构如下:
uri:https://bitbucket.org/repositorios-company/configuration-files
目录:
-authorization-service
----application.yml
----application-development.yml
----application-uat.yml
----application-production.yml
-cpo-executor
----application.yml
----application-development.yml
----application-uat.yml
----application-production.yml
在配置项目 yml 文件中:
server:
port: 8888
spring:
application:
name: config-server
cloud:
config:
server:
git:
username: ######
....
uri: https://bitbucket.org/repositorios-company/cup-configuration-files
searchPaths: '{application}'
问题:
- 当我尝试通过 url http://localhost:8888/authorization-service/development 访问开发文件时,spring 加载了两个文件,而不仅仅是我预期的一个:
2021-01-13 10:34:40.549 INFO 141562 --- [nio-8888-exec-1] o.s.c.c.s.e.NativeEnvironmentRepository : Adding property source: file:/tmp/config-repo-3531515016986363333/authorization-service/application.yml
2021-01-13 10:34:48.950 INFO 141562 --- [nio-8888-exec-2] o.s.c.c.s.e.NativeEnvironmentRepository : Adding property source: file:/tmp/config-repo-3531515016986363333/authorization-service/application-development.yml
- 当客户端应用程序,使用如下配置,尝试访问对应的配置文件时,spring只带上application.yml文件,不带上profile对应的文件:
客户端 yml:
spring.application.name=authorization-service
spring.profiles.active=development
spring.cloud.config.uri=http://localhost:8888
应用启动后spring cloud config log显示默认application.yml:
2021-01-13 11:09:11.346 INFO 144899 --- [nio-8888-exec-2] o.s.c.c.s.e.NativeEnvironmentRepository : Adding property source: file:/tmp/config-repo-1131390371944673193/authorization-service/application.yml
已编辑:我检查了该值是否在运行时发生了变化,以及它是否从 application-development.yml 中获取了值,但没有。
有人知道我怎样才能在这两种情况下只带一个配置文件吗?
【问题讨论】:
-
配置服务器始终为
application-{profile}.{yml|properties}和application.{yml|properties}提供服务。 -
但是我怎样才能让我的客户端应用程序获取开发文件而不是默认文件?我做错了什么? @spencergibb
-
我不知道。文件中的值是什么?
/actuator/env说什么? -
在客户端应用程序中显示 "activeProfiles": ["dev"] 但加载的文件是 application.yml 没有来自 application-development.yml @spencergibb 的值
-
dev不匹配development
标签: java spring git spring-cloud