第 8 章 使用配置配置集


您可以根据您的环境使用不同的配置配置集。配置配置集可让您在同一文件中有多个配置,并使用配置集名称在它们之间进行选择。Red Hat build of Quarkus 有三个配置配置集。另外,您可以创建自己的自定义配置集。

Quarkus 默认配置集:

  • Dev: 在开发模式中激活
  • 测试 :运行测试时激活
  • prod :在没有以开发或测试模式下运行时的默认配置集

先决条件

  • 您有一个 Quarkus Maven 项目。

流程

  1. 打开 Java 资源文件并添加以下导入声明:

    import io.quarkus.runtime.configuration.ProfileManager;
    Copy to Clipboard Toggle word wrap
  2. 要显示当前的配置配置集,请添加调用 ProfileManager.getActiveProfile () 方法的日志:

    LOGGER.infof("The application is starting with profile `%s`", ProfileManager.getActiveProfile());
    Copy to Clipboard Toggle word wrap
    注意

    无法使用 @ConfigProperty ("quarkus.profile") 方法访问当前配置文件。

8.1. 设置自定义配置配置集

您可以根据需要创建任意数量的配置配置集。您可以在同一个文件中有多个配置,您可以使用配置集名称在它们之间进行选择。

流程

  1. 要设置自定义配置集,请在 application.properties 文件中使用配置集名称创建一个配置属性,其中 < key&gt; 是属性的名称,< value&gt; 是属性值,& lt;profile > 是配置集的名称:

     %<profile>.<key>=<value>
    Copy to Clipboard Toggle word wrap

    在以下示例中,quarkus.http.port 的值默认为 9090,当 dev 配置集被激活时会变为 8181 :

    quarkus.http.port=9090
    %dev.quarkus.http.port=8181
    Copy to Clipboard Toggle word wrap
  2. 使用以下方法之一启用配置集:

    • 设置 quarkus.profile 系统属性。

      • 要使用 quarkus.profile 系统属性启用配置集,请输入以下命令:

        mvn -Dquarkus.profile=<value> quarkus:dev
        Copy to Clipboard Toggle word wrap
    • 设置 QUARKUS_PROFILE 环境变量。

      • 要使用环境变量启用配置集,请输入以下命令:

        export QUARKUS_PROFILE=<profile>
        Copy to Clipboard Toggle word wrap
        注意

        system 属性值优先于环境变量值。

  3. 要重新打包应用程序并更改配置集,请输入以下命令:

    ./mvnw package -Dquarkus.profile=<profile>
     java -jar target/myapp-runner.jar
    Copy to Clipboard Toggle word wrap

    以下示例显示了激活 prod-aws 配置集的命令:

    ./mvnw package -Dquarkus.profile=prod-aws
     java -jar target/myapp-runner.jar
    Copy to Clipboard Toggle word wrap
注意

默认 Quarkus 应用程序运行时配置集设置为用于构建应用程序的配置集。Red Hat build of Quarkus 会自动根据您的环境模式选择一个配置集。例如,当您的应用程序以 JAR 身份运行时,Quarkus 处于 prod 模式。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat