使用 mp.config.profile 设置 Microprofile 活动配置文件在 Liberty 中不起作用

问题描述

我目前正在尝试将一个微型开放式自由项目作为 jar 运行。

java -jar myapp.jar -Dmp.config.profile=test

应用程序运行但未从 microprofile-config-test.properties 中选择配置值 而是使用来自 microprofile-config.properties 的值

提前致谢

解决方法

启用 MicroProfile Config 2.0 功能

首先,您通过以下方式在 server.xml 中启用:

    <featureManager>
        <feature>mpConfig-2.0</feature>  
        <!-- 
            Or enable all MicroProfile 4.0 features via:
            <feature>microProfile-4.0</feature>   
          -->
    </featureManager>

安装 GA 版本的 Open Liberty

默认版本

默认情况下,liberty-maven-plugin 将安装最新版本的 Open Liberty。

安装特定的 GA 版本

您可以通过 Liberty-maven-plugin 配置安装特定版本的 Open Liberty(例如版本 21.0.0.3,其中包含对 MicroProfile 4.0 功能(例如 MicroProfile Config 2.0)的 GA 支持):>

    <plugin>
        <groupId>io.openliberty.tools</groupId>
        <artifactId>liberty-maven-plugin</artifactId>
        <version>3.3.4</version>
        <configuration>
            <assemblyArtifact>
                <groupId>io.openliberty</groupId>
                <artifactId>openliberty-runtime</artifactId>
                <version>21.0.0.3</version>
            </assemblyArtifact>
        </configuration>
    </plugin>

使用liberty-maven-plugin 安装Open Liberty 的测试版

更新:(我最初在 MicroProfile Config 2.0 功能仍处于测试阶段时发布了此答案,但作为参考,我会将其移至下面的新部分。)

以下是如何使用 liberty-maven-plugin 安装特定版本的 Open Liberty 运行时测试版:

    <plugin>
        <groupId>io.openliberty.tools</groupId>
        <artifactId>liberty-maven-plugin</artifactId>
        <version>3.3.4</version>
        <configuration>
            <assemblyArtifact>
                <groupId>io.openliberty.beta</groupId>
                <artifactId>openliberty-runtime</artifactId>
                <version>21.0.0.3-beta</version>
                <type>zip</type>
            </assemblyArtifact>
        </configuration>
    </plugin>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...