如何使用java-ee8、microprofile 4.0、Openliberty 21和Docker设置特定阶段的微文



我的应用程序在docker容器中使用JavaEE8、Openliberty 21.0.0.5和Microprofile 4.0时遇到问题。我不能从"0"设置mpConfig-2.0引入的CCD_ 1;外部";图像。我的设置如下:

microprofile-config.properties
microprofile-config-dev.properties
microprofile-config-prod.properties

src/main/resources/META-INF/内部

功能在server.xml中正确激活,并在启动时正确安装。

<featureManager onError="WARN">
<feature>microProfile-4.0</feature>
<feature>javaee-8.0</feature>
</featureManager>

每个阶段我还有一个server.env,它通过docker运行的--env-file传递给我的容器。

我的第一种方法是在server.env中设置mp.config.profile,因为它可以在不同阶段运行映像时发生了更改。例如CCD_ 7内部的CCD_ 6等等。但是,microfile-config-dev.properties的值从未与此设置一起使用。

我能够正确激活配置文件的唯一方法是使用

<variable name="mp.config.profile" value="dev" />

在CCD_ 8内部。

然而,server.xml在docker映像中不是特定于阶段的,因此不可能在不同阶段更改它。

有人有什么建议吗?正确的方法是什么?

提前感谢

问候

如果要从mp.config.profile1设置mp.config.profile,则可能需要设置MP_CONFIG_PROFILE

由于点在环境变量名称中无效,MP Config在从环境变量中查找Config时定义了一些映射规则。它将检查请求的名称是否将非字母数字字符转换为下划线,然后再次检查是否将所有字母转换为大写。

最新更新