Grails:从BuildConfig.groovy内部检查环境

时间:2014-10-01 15:22:40

标签: grails configuration environment

在Grails中,Environment.current.name会告诉我们在run-app调用期间指定的环境名称,这是一个对话:

grails run-app -Dgrails.env=testing

Environment.current.name无法在BuildConfig.groovy内查看,如下所示:

if(Environment.current.name == 'testing') {
    // do something else
}

由于Environment.current.nameBuildConfig.groovy不可用,有没有其他方法可以说明指定的环境?

1 个答案:

答案 0 :(得分:2)

grails.util.Environment是检查当前环境的首选方式,即使在BuildConfig.groovy中也是如此。

问题似乎与if语句中的条件有关。测试环境称为“测试”,而不是“测试”,所以应该是这样的 if(Environment.current.name == 'test')

您可以使用枚举常量来避免魔术字符串 if(Environment.current == Environment.TEST)

或者完全避免if语句使用带有闭包的executeForEnvironment,例如: Environment.executeForEnvironment(Environment.TEST) { // do some stuff just for the TEST environment }