当为带有连字符的属性设置环境变量时,例如:
quarkus.datasource.db-kind=postgresql
Run Code Online (Sandbox Code Playgroud)
我希望它被设置为:
export QUARKUS_DATASOURCE_DB_KIND=postgresql
Run Code Online (Sandbox Code Playgroud)
但是,这会导致以下消息:
Unrecognized configuration key "quarkus.datasource.db.kind" was provided; it will be ignored;
Run Code Online (Sandbox Code Playgroud)
所有其他属性(不带连字符)都会正确传递。
其他属性也会发生这种情况:
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;
Run Code Online (Sandbox Code Playgroud)
解决方法:重命名环境变量并将其传递到 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}
Run Code Online (Sandbox Code Playgroud)
什么是正确的转换?它记录在某处吗?
myz*_*540 -1
我认为大多数 shell 都认为连字符是无效的标识符。根据 quarkus 的运行方式(CLI?),您可以执行类似的操作
env "QUARKUS_DATASOURCE_DB-KIND=postgresql" quarkus
Run Code Online (Sandbox Code Playgroud)
这对环境变量如何转换为配置键做出了一些假设。根据您提供的信息,它看起来像是转换为小写并替换_
为.
? 谁知道它会对连字符做什么
归档时间: |
|
查看次数: |
5339 次 |
最近记录: |