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

标签 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.name中没有BuildConfig.groovy,因此还有其他方法可以告诉您指定了哪种环境?

最佳答案

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

问题似乎与if语句中的条件有关。测试环境称为“测试”,而不是“测试”,因此应看起来像if(Environment.current.name == 'test')
您可以通过使用枚举常量来避免魔术字符串if(Environment.current == Environment.TEST)
或完全避免使用带闭包的executeForEnvironment的if语句,例如: Environment.executeForEnvironment(Environment.TEST) { // do some stuff just for the TEST environment }

关于grails - Grails:从BuildConfig.groovy内部检查环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26144800/

相关文章:

Java HttpServletResponse 带有空白值 header ?

r - 我不希望我的全局环境在退出时在 R 中清除

r - ggplot2:如何获取影响 ScaleContinuous 类的 Geom 类

php - 在 Laravel 中动态设置数据库连接和语言

c# - 在运行时在 c# 应用程序中添加用户设置

php - 环境变量如何存储和使用?

grails - 防止在登录时重复提交表单

grails - gorm继承导致DuplicateMappingException

Grails 启动两个内存数据库用于开发/测试?

c++ - Qt:从应用程序/可执行目录获取设置 ini 文件时出现问题