基于环境的Grails war文件名

Jon*_*Jon 4 grails

我想在我自动构建的每个战争中附加env名称(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}"
}
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?当然我可以在命令行上手动更改它,但我想如果可能的话我会做一点清洁......

Bur*_*ith 12

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

由于时间问题,这是失败的 - GrailsUtil.environment尚未设置,因此没有一个案例匹配.即使他们因为你没有休息陈述而遇到问题 - 你需要为每个案例提供一个.

这有效(虽然它使用全名,例如'生产'或'开发'):

grails.project.war.file = "target/${appName}-${grails.util.Environment.current.name}-${appVersion}.war"
Run Code Online (Sandbox Code Playgroud)