1.7. 设置配置属性
默认情况下,Quarkus 从 src/main/resources 目录中的 application.properties 文件中读取属性。如果更改了构建属性,请确保重新打包应用程序。
Quarkus 在构建期间配置大多数属性。扩展可以在运行时将属性定义为可过量使用,例如数据库 URL、用户名和密码,并可特定于您的目标环境。
先决条件
-
您已创建了 Quarkus
config-quickstart项目。 -
您已在项目的
application.properties文件中定义greeting.message和greeting.name属性。
流程
要打包 Quarkus 项目,请输入以下命令:
./mvnw clean package使用以下方法之一设置配置属性:
设置系统属性:
输入以下命令,其中 <
;property_name> 是您要添加的配置属性的名称,<value> 是属性值:java -D<property_name>=<value> -jar target/quarkus-app/quarkus-run.jar例如,要将
greeting.suffix属性的值设置为?,请输入以下命令:java -Dgreeting.suffix=? -jar target/quarkus-app/quarkus-run.jar设置环境变量:
输入以下命令,其中 <
;property_name> 是您要设置的配置属性的名称,<value> 是 属性的值:export <property_name>=<value> ; java -jar target/quarkus-app/quarkus-run.jar注意环境变量名称遵循 MicroProfile Config 的转换规则。MicroProfile Config 为给定的属性名称搜索三个环境变量。
-
完全匹配:例如
foo.BAR.baz。 -
将不是字母数字字符或下划线(_)的每个字符替换为下划线:
foo_BAR_baz -
将不是字母数字字符或下划线(_)的每个字符替换为下划线;然后将名称转换为大写:
FOO_BAR_BAZ。
另外,还会应用以下规则:
-
带有双引号(如
foo."bar".baz)的属性,将不是字母数字字符或下划线的每个字符替换为下划线:FOOBARBAZ -
带有短划线的属性,如
foo.bar-baz,将不是字母数字或下划线的每个字符替换为下划线:FOO_BAR_BAZ -
索引的属性
foo.bar[0]或foo.bar[0].baz,将不是字母数字的每个字符替换为下划线:FOO_BAR_0或FOO_BAR_0_0_BAZ
-
完全匹配:例如
使用环境文件:
在当前工作目录中创建
.env文件并添加配置属性,其中 <PROPERTY_NAME> 是属性名称,<value> 是属性值:<PROPERTY_NAME>=<value>注意在开发模式中,此文件位于项目的根目录中。不要跟踪版本控制中的文件。如果在项目的根目录中创建
.env文件,您可以定义程序读取为属性的键和值。使用
application.properties文件:将配置文件放在运行应用程序的
$PWD/config/application.properties目录中,以便该文件中定义的任何运行时属性都覆盖默认配置。注意您还可以在开发模式中使用
config/application.properties功能。将config/application.properties文件放在目标目录中。构建工具(如mvn clean)的任何清理操作也会删除config目录。