grails.util.Environment,定义了许多预配置的环境
运行Grails命令时,可以使用-Denv标志指定要使用的环境,例如grails run-app -Denv=test.您还可以使用闭包指定特定于某个环境的代码块,例如:
environments {
production {
grails.serverURL = "http://www.changeme.com"
}
development {
grails.serverURL = "http://localhost:8080/${appName}"
}
test {
grails.serverURL = "http://localhost:8080/${appName}"
}
}
Run Code Online (Sandbox Code Playgroud)
这些特殊的环境闭合可以用在Bootstrap.groovy和Config.groovy,是否有其他地方呢?
另外,我是否可以定义自己的环境,例如PRE_PRODUCTION,它可以使用上面的闭包和-Denv标志?
最后,CUSTOM环境可以与-Denv旗帜一起使用吗?
tim*_*tes 17
这些特定于环境的闭包可以在Bootstrap.groovy和Config.groovy中使用,还有其他地方吗?
我不这么认为......对于其他地方,您需要使用Generic Per Environment Execution块
Environment.executeForCurrentEnvironment {
production {
// do something in production
}
development {
// do something only in development
}
pre_production {
// do something for your custom environment
}
}
Run Code Online (Sandbox Code Playgroud)
另外,我是否可以定义自己的环境,例如PRE_PRODUCTION,以便它可以使用上面的闭包和-Denv标志?
是的,您应该能够在Bootstrap.groovy或Config.groovy(或上面的自定义块)中声明-Dgrails.env=pre_production并包含pre_production块grails.util.Environment
编辑
正如您在Grails 源环境中看到的那样,这种自定义环境将枚举到Environment.CUSTOM,然后在Environment.executeForCurrentEnvironment块中,它将检查CUSTOM,以及自定义环境的名称
| 归档时间: |
|
| 查看次数: |
7508 次 |
| 最近记录: |