第 8 章 使用配置配置集
您可以根据您的环境使用不同的配置配置集。配置配置集可让您在同一文件中有多个配置,并使用配置集名称在它们之间进行选择。Red Hat build of Quarkus 有三个配置配置集。另外,您可以创建自己的自定义配置集。
Quarkus 默认配置集:
- Dev: 在开发模式中激活
- 测试 :运行测试时激活
- prod :在没有以开发或测试模式下运行时的默认配置集
先决条件
- 您有一个 Quarkus Maven 项目。
流程
打开 Java 资源文件并添加以下导入声明:
import io.quarkus.runtime.configuration.ProfileManager;
import io.quarkus.runtime.configuration.ProfileManager;Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要显示当前的配置配置集,请添加调用
ProfileManager.getActiveProfile ()方法的日志:LOGGER.infof("The application is starting with profile `%s`", ProfileManager.getActiveProfile());LOGGER.infof("The application is starting with profile `%s`", ProfileManager.getActiveProfile());Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意无法使用
@ConfigProperty ("quarkus.profile")方法访问当前配置文件。
8.1. 设置自定义配置配置集 复制链接链接已复制到粘贴板!
您可以根据需要创建任意数量的配置配置集。您可以在同一个文件中有多个配置,您可以使用配置集名称在它们之间进行选择。
流程
要设置自定义配置集,请在
application.properties文件中使用配置集名称创建一个配置属性,其中 <key> 是属性的名称,<value> 是属性值,<profile> 是配置集的名称:%<profile>.<key>=<value>
%<profile>.<key>=<value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在以下示例中,
quarkus.http.port的值默认为 9090,当dev配置集被激活时会变为 8181 :quarkus.http.port=9090 %dev.quarkus.http.port=8181
quarkus.http.port=9090 %dev.quarkus.http.port=8181Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下方法之一启用配置集:
设置
quarkus.profile系统属性。要使用
quarkus.profile系统属性启用配置集,请输入以下命令:mvn -Dquarkus.profile=<value> quarkus:dev
mvn -Dquarkus.profile=<value> quarkus:devCopy to Clipboard Copied! Toggle word wrap Toggle overflow
设置
QUARKUS_PROFILE环境变量。要使用环境变量启用配置集,请输入以下命令:
export QUARKUS_PROFILE=<profile>
export QUARKUS_PROFILE=<profile>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意system 属性值优先于环境变量值。
要重新打包应用程序并更改配置集,请输入以下命令:
./mvnw package -Dquarkus.profile=<profile> java -jar target/myapp-runner.jar
./mvnw package -Dquarkus.profile=<profile> java -jar target/myapp-runner.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下示例显示了激活
prod-aws配置集的命令:./mvnw package -Dquarkus.profile=prod-aws java -jar target/myapp-runner.jar
./mvnw package -Dquarkus.profile=prod-aws java -jar target/myapp-runner.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow
默认 Quarkus 应用程序运行时配置集设置为用于构建应用程序的配置集。Red Hat build of Quarkus 会自动根据您的环境模式选择一个配置集。例如,当您的应用程序以 JAR 身份运行时,Quarkus 处于 prod 模式。