命令行选项 -Dgrails.env = customEnv 什么时候生效

when does the command line option -Dgrails.env = customEnv take effect

我想知道 Environment 何时设置为我传递的选项:

-Dgrails.env = customEnv 

更新:我正在运行

grails clean  -Dgrails.env = customEnv 

简而言之,Environment.current.name 什么时候设置为 customEnv

要查看哪个文件

clean的情况下,它什么都不做。 grails.env 最常用的两个命令是 run-appwar

对于 run-app,grails 将 运行 您的应用程序(使用嵌入式 Tomcat)使用特定于您指定的环境的配置。

对于 war,grails 将编译 war 数据源和特定于您指定的环境的 Config.groovy 配置。

如果您有要部署到的单独环境(例如 - 开发和生产),这将特别有用。

我认为您编写的触发命令语法错误。命令执行前需要先传系统环境名,两边不能有空格:

grails -Dgrails.env=customEnv run-app

在您的 buildCconfig 添加:

import grails.util.Environment;