【发布时间】:2021-08-22 01:50:46
【问题描述】:
为带有连字符的属性设置环境变量时,例如:
quarkus.datasource.db-kind=postgresql
我希望它被设置为:
export QUARKUS_DATASOURCE_DB_KIND=postgresql
但是,这会导致以下消息:
Unrecognized configuration key "quarkus.datasource.db.kind" was provided; it will be ignored;
所有其他属性(不带连字符)均正确传递。
其他属性也会发生这种情况:
export QUARKUS_DATASOURCE_JDBC_MIN_SIZE=10
export QUARKUS_DATASOURCE_JDBC_INITIAL_SIZE=20
export QUARKUS_DATASOURCE_JDBC_MAX_SIZE=1000
...
Unrecognized configuration key "quarkus.datasource.jdbc.max.size" was provided;
Unrecognized configuration key "quarkus.datasource.jdbc.min.size" was provided;
Unrecognized configuration key "quarkus.datasource.jdbc.initial.size" was provided;
解决方法: 重命名环境变量并将它们传递到 application.properties,使用连字符名称:
quarkus.datasource.jdbc.initial-size=${DATASOURCE_JDBC_INITIAL_SIZE}
quarkus.datasource.jdbc.min-size=${DATASOURCE_JDBC_MIN_SIZE}
quarkus.datasource.jdbc.max-size=${DATASOURCE_JDBC_MAX_SIZE}
什么是正确的转换?它是否记录在某处?
【问题讨论】:
-
你是在构建时还是运行时设置这个?