我的配置变量(在application.yml中)为:
xyz:
exception.emails: ['abc@gmail.com']
虽然在本地获取此工作正常但在部署战争后我得到配置变量:
xyz: [
exception: [
emails[
0
]: abc@gmail.com
]
]
我把它拉为:
def email = Holders.config.grails.xyz.exception.emails
答案 0 :(得分:0)
我实际上对这项工作感到惊讶,因为我不认为这是正确的yml语法,查看默认的application.yml,它们指定了一个userAgents列表,如下所示:
grails:
mime:
disable:
accept:
header:
userAgents:
- Gecko
- WebKit
- Presto
- Trident
我个人喜欢使用application.groovy并使用这样的groovy语法:
grails {
mime {
disable {
accept {
header {
userAgents:
['Gecko', 'WebKit', 'Presto', 'Trident']
}
}
}
它可能有点过时,但这是一个application.yml转换为application.groovy的示例: https://github.com/virtualdogbert/Grails3Tutorial/blob/step_01_settings_yml_to_groovy/grails-app/conf/application.groovy
另请注意,在过去,您可以运行来自application.groovy的代码,但是如果您有任何导入它们将无法工作,因为application.yml / groovy适用于cli(运行前),因此作为解决方法您还可以指定runtime.groovy,您可以在其中进行导入。如果您加倍努力并编写插件,可以指定plugin.groovy来设置默认值。