命令行选项-Dgrails.env=customEnv何时生效

命令行选项-Dgrails.env=customEnv何时生效,grails,Grails,我想知道环境何时设置为我传递为的选项: 更新:我正在跑步 grails clean -Dgrails.env = customEnv 简而言之,Environment.current.name何时设置为customEnv 要查看哪个文件?在清理的情况下,它什么都不做。grails.env最常用的两个命令是runapp和war 对于runapp,grails将使用特定于您指定的环境的配置运行您的应用程序(使用嵌入式Tomcat) 对于war,grails将使用特定于您指定的环境的数据源和Co

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

更新:我正在跑步

grails clean  -Dgrails.env = customEnv 
简而言之,
Environment.current.name
何时设置为
customEnv


要查看哪个文件?

清理的情况下,它什么都不做。
grails.env
最常用的两个命令是
runapp
war

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

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


如果您有要部署到的单独环境(例如,Dev和Prod),这尤其有用

我认为您编写了错误的启动命令语法。在执行命令之前,需要首先传递系统环境名称,并且不应在任意一侧包含空格:

grails -Dgrails.env=customEnv run-app

在您的
buildCconfig
上添加:

import grails.util.Environment;

你在运行什么命令?您是否正在使用Maven构建项目?检查StartRails脚本您在寻找什么?当我记录
Environment.current.name
的值时,你没有得到值
Environment.current.name
设置为
customEnv
?@ShashashankAgrawal是的,当我记录
Environment.current.name
的值时,我得到一个空映射([:]),这是因为我在运行
clean
时看到一条消息,上面写着“Environment设置为
customEnv
”。但我的问题是,
Environment.current.name
何时设置为
customeEnv
?我不完全确定你在问什么。清理应用程序时设置grails.env实际上没有任何效果。但是,如果您要运行
grails run app-Dgrails.env=customEnv
,那么引用
Environment.current.name
的任何代码都会返回“customEnv”,如果我不清楚,那么很抱歉。您正在告知
Environment.current.name
何时生效,但我想知道
Environment.current.name
何时设置为
customeEnv
。如果您知道它,请指向操纵
Environment.current.name
的grails文件,为什么不自己在GitHub上搜索它呢?不,我可以看到控制台输出,上面写着“Environment set to customEnv”。好的,您使用的是哪个版本的grails?grails版本:2.3.0
import grails.util.Environment;