【问题标题】:Grails war filename based on environment基于环境的 Grails 战争文件名
【发布时间】:2016-05-03 21:38:24
【问题描述】:

我想在我自动构建的每个战争上附加环境名称(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}"
}

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

【问题讨论】:

    标签: grails


    【解决方案1】:

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

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

    这可行(尽管它使用全名,例如“生产”或“开发”):

    grails.project.war.file = "target/${appName}-${grails.util.Environment.current.name}-${appVersion}.war"
    

    【讨论】:

      【解决方案2】:

      你也可以这样做:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-21
        • 2011-08-18
        • 1970-01-01
        相关资源
        最近更新 更多