Grails 战争命令:幕后发生的事情

Ste*_*lth 2 java grails war

我知道在 Grails 框架中,您可以使用以下命令构建一个 war 文件

grails 战争(构建生产战争)

或者您可以使用构建特定于环境的 war 文件

Grails 测试战

现在,我无法理解的是,如果我使用grails war构建一个 war 文件,但将其部署到测试环境(其中 -Dgrails.env=test),则使用grails war命令构建的 war 文件会通过选择 ** 愉快地运行测试 ** 环境设置(例如从测试 url 而不是生产 url 中提取数据)。

我的问题是:使用特定于环境的命令构建 war 文件有什么意义(即,当使用 grails war 构建的 war 文件在任何地方都可以工作时,为什么要使用 grails test war?)。

我错过了一些明显的东西吗?

Jos*_*ore 5

使用环境的原因是因为您可以在应用程序中编写代码,该代码会挂钩构建过程并根据环境更改生成的 WAR。例如重新配置一些过滤器web.xml。这是一个扩展点。如果需要,您可以使用它。