如何覆盖默认的Grails环境?
Grails允许您在如何覆盖默认的Grails环境?,grails,environment-variables,overriding,Grails,Environment Variables,Overriding,Grails允许您在Config.groovy中为应用程序定义不同的“环境”,如下所示: environments { development { ... } demo { ... } production { ... } } 因此,您可以像这样运行应用程序: grails -Dgrails.env=demo run-app …Grails将以“演示”环境模式运行您的应用程序。默认值为开发,因此如
Config.groovy
中为应用程序定义不同的“环境”,如下所示:
environments {
development {
...
}
demo {
...
}
production {
...
}
}
因此,您可以像这样运行应用程序:
grails -Dgrails.env=demo run-app
…Grails将以“演示”环境模式运行您的应用程序。默认值为开发
,因此如果您只是执行:
grails run-app
…这与:
grails -Dgrails.env=development run-app
然而,我想知道是否有可能(如果有,如何)将开发
作为默认值覆盖,并使其成为,比如说,演示
?以便:
grails run-app
…相当于:
grails -Dgrails.env=demo run-app
想法
然而,我想知道是否有可能(如果有,如何)将开发作为默认值覆盖
不,这是不可能的。顺便说一句,默认环境取决于命令,例如
的默认环境是runapp
development
test应用程序的默认环境是
test
的默认环境是war
production
开发
是运行应用
的默认值,测试应用
默认为测试
,战争
默认为生产
development
环境只是一个标签,因此如果您真的想将其用于其他用途(如演示),您可以创建一个单独的actualDev
环境,但在遥远的将来,当所有人都忘记它是这样设置的时,它可能会引起混乱
好的,但我能做些什么让演示更容易?
我一直在使用标准Grails结构中的/scripts/
目录来简化安装和演示的开销,因此您可以为演示创建demo.sh
,如果/当您的应用程序变得更加复杂和相互连接时,它还可以让您安装/拆除任何其他资源