2011-06-13 166 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