File 如何设置grails环境变量?

File 如何设置grails环境变量?,file,grails,File,Grails,我的d驱动器中有一个文件夹。我在控制器中使用的这个驱动器中的文件。因此,在控制器中,我为每个文件递归指定文件夹名称。但是,开发后的文件可能会保存在任何其他驱动器中。因此,我想为它设置环境变量。如何做到这一点,听起来配置参数比环境变量Config.groovy是环境感知的,因此您可以为开发、生产等指定不同的值 environments { production { fileLocation = "D:/" } development { fi

我的d驱动器中有一个文件夹。我在控制器中使用的这个驱动器中的文件。因此,在控制器中,我为每个文件递归指定文件夹名称。但是,开发后的文件可能会保存在任何其他驱动器中。因此,我想为它设置环境变量。如何做到这一点,听起来配置参数比环境变量
Config.groovy
是环境感知的,因此您可以为开发、生产等指定不同的值

environments {
    production {
        fileLocation = "D:/"
    }
    development {
        fileLocation "/somewhere/else"
    }
    test {
        fileLocation "/production/somewhere"
    }    
}
您可以通过以下方式读取此参数的值:

def fileLocation = org.codehaus.groovy.grails.commons.ConfigurationHolder.config?.fileLocation
在grails 1.4
ConfigurationHolder
中,不推荐使用此选项,因此您应该使用以下选项读取配置参数:

def fileLocation = grailsApplication.config.fileLocation

注意,当ConfigurationHolder被删除时,您需要在Grails1.4中使用grailsApplication.config.fileLocation。首先将def grailsApplication添加到您的控制器/服务等。@rlovtang-它是否已被删除或刚刚弃用?如果它真的被删除了,那么可以用一个1.4兼容的例子来更新这篇文章。我原以为它被删除了,但看起来它已经被弃用了。在帖子中添加了使用grailsApplication的示例:)