基于环境的grailswar文件名

基于环境的grailswar文件名,grails,Grails,我想在我自动构建的每一个war(grails[dev | test | prod]war)上添加环境名称 我尝试在BuildConfig.groovy中执行以下操作,但没有任何更改: switch (grails.util.GrailsUtil.environment) { case "development": grails.project.war.file = "target/${appName}-dev-${appVersion}" case "test

我想在我自动构建的每一个war(grails[dev | test | prod]war)上添加环境名称

我尝试在BuildConfig.groovy中执行以下操作,但没有任何更改:

switch (grails.util.GrailsUtil.environment) {

    case "development":
        grails.project.war.file = "target/${appName}-dev-${appVersion}" 
    case "test":
        grails.project.war.file = "target/${appName}-test-${appVersion}"
    case "production":
        grails.project.war.file = "target/${appName}-prod-${appVersion}"
}

有什么想法吗?当然,我可以在命令行上手动更改它,但我想如果可能的话,我会做得更干净一些…

GrailsUtil.environment
已被弃用-改用
grails.util.environment.current.name

由于时间问题,此操作失败-
GrailsUtil.environment
尚未设置,因此所有案例都不匹配。即使是这样,您也会遇到问题,因为您没有break语句-每个案例都需要一个break语句

这是有效的(尽管它使用全名,例如“生产”或“开发”):


您也可以这样做:

grails.project.war.file = "target/${appName}${grails.util.Environment.current.name == 'development' ? '-dev' : ''}.war"
grails.project.war.file = "target/${appName}${grails.util.Environment.current.name == 'development' ? '-dev' : ''}.war"