我的应用程序具有以下形式的数组环境变量:tableName[0]=tableName ... property.one.two.tableName[x]=tableNameX
在本地运行时,当我将属性放入 application.properties
、命令行参数或环境变量中时,一切正常。但是,一旦我尝试部署到 marathon,数组变量就不再起作用。我试图将它们传递到 marathon json 数组的 env
属性中。我试过:
"env": {
"property.one.two.tableName[0]":"tableName",
....
}
和
"env": {
"property.one.two.tableName": ["tableName", ... ]
...
}
和
"env" {
"tableName": [
{"property.one.two.tableName[0]" : "tableName"}
{....}
]
}
但是没有任何效果。有人让它工作吗?
最佳答案
似乎是 Spring 的一个错误。 Spring 的宽松绑定(bind)不起作用。将环境变量设置为预期变量的精确拼写解决了问题。
在我现有的代码中,宽松绑定(bind)适用于 property.one.two
,但不再适用于 property.one.two. Three
关于java - Docker/Marathon 上的 Spring Boot 数组环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40746826/