我有一个非常基本的Spring (刚刚用@EnableConfigServer添加了依赖项和带注释的主类)。
通常,我希望为每个应用程序支持具有不同属性源的多个环境,下面是ConfigServer本身的示例:
配置文件:默认(类路径上的application.yml):

简介: docker (类路径上的应用程序-docker.yml):

配置文件:默认(application.yml在ConfigServer存储库中):

因此,在我的例子中,来自所有三个屏幕截图的所有属性都应该是活动的,我希望顺序/优先级如下所示:
到目前为止,这是完美无缺的,除了我遇到的问题是,当我用命令(当然是在容器中)启动应用程序时,类路径上的应用程序-docker.yml被忽略了:
java -jar -Dspring-boot.run.profiles=docker *.jar如你所见:

我的问题是,即使我提供配置文件作为命令行参数,它也不会被选中。为什么会这样呢?
更新,这里是Dockerfile和entrpoint.sh:


发布于 2021-05-07 08:18:08
若要激活一个或多个配置文件,请执行下列操作之一:
使用VM参数-Dspring.profiles.active=<profiles>
--spring.profiles.active=<profiles>激活
按照您的示例,以下内容应该有效:
java -jar -Dspring.profiles.active=docker *.jarhttps://stackoverflow.com/questions/67268200
复制相似问题