2011-06-13 144 views
4

我在我的d drive.files中有一个文件夹,我在我的controller.so控制器中使用了这个驱动器,我为每个文件指定了文件夹名称recurse.But在开发文件可能保存在其他任何drive.so我想要有它的环境变量要做到这一点我如何设置grails环境变量?

回答

6

这听起来像一个配置参数会比环境变量更好。 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 
+0

请注意,您需要在Grails 1.4中将_grailsApplication.config.fileLocation_用作ConfigurationHold呃被删除。首先将_def grailsApplication_添加到您的控制器/服务等。 – rlovtang 2011-06-13 14:08:04

+0

@rlovtang - 它已被删除或只是弃用?如果它真的被删除了,那么请随时用1.4兼容的示例更新这篇文章。 – 2011-06-13 14:11:16

+0

我认为它已被删除,但它看起来已被弃用。 http://grails.org/1.4.0.M1+Release+Notes – rlovtang 2011-06-13 14:18:19