Grails允许您定义不同的环境"对于Config.groovy
内的应用,请执行以下操作:
environments {
development {
...
}
demo {
...
}
production {
...
}
}
因此您可以像这样运行您的应用程序:
grails -Dgrails.env=demo run-app
... Grails将在"演示"中运行您的应用程序环境模式。默认值为development
,因此,如果您只执行:
grails run-app
......它与:
相同grails -Dgrails.env=development run-app
但是我想知道是否有可能(如果是这样,如何)覆盖development
作为默认值,并将其设为demo
?这样:
grails run-app
......相当于:
grails -Dgrails.env=demo run-app
思想?
答案 0 :(得分:5)
但是我想知道是否有可能(如果是这样,如何)将开发覆盖为默认
不,这是不可能的。顺便提一下,默认环境取决于命令,例如
run-app
的默认环境为development
test-app
的默认环境为test
war
的默认环境为production
答案 1 :(得分:4)
简短的回答是否定的(或者至少它没有记录,我无法使其正常工作),但稍微长一点的答案就是即使你可能不想这样做。
通过更改默认环境,您将为新开发人员创建一个额外的入门门槛,并且可能会有相当多的“哦,该死的,默认情况下它不会在dev中运行,当然是”时刻。
值得注意的是,development
是run-app
的默认值,test-app
默认为test
而war
默认为production
。
development
环境只是一个标签,所以如果您真的想将它用于其他内容(例如演示),您可以创建一个单独的actualDev
环境,但同样可能会当所有人都忘记了它的设置时,会在遥远的未来造成混乱。
我一直使用标准Grails结构中的/scripts/
目录来简化设置和演示开销,因此您可以为演示创建demo.sh
,这也可以让您设置/拆除任何其他资源,如果/当您的应用程序变得更加复杂和相互关联时。