【问题标题】:Create Grails 3 WAR without version number创建没有版本号的 Grails 3 WAR
【发布时间】:2015-11-10 02:39:11
【问题描述】:

在 Grails 2 中,我们可以这样定义 WAR 文件名:

grails.project.war.file = "target/${appName}.war"

如何在 Grails 3 中覆盖战争文件名?

谢谢杰夫。

我在 build.gradle 中添加了这样的行:

war {
    archiveName "${war.baseName}.war"
    }

【问题讨论】:

    标签: grails grails-3.0


    【解决方案1】:

    build.gradle 中,您可以执行war.archiveName='jeff.war' 之类的操作。见https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.War.html#org.gradle.api.tasks.bundling.War%3aarchiveName

    【讨论】:

    • 值当然可以是动态的:war.archiveName="${war.baseName}.war"也可以。
    • 值得注意的是,该属性的设置必须在之后应用war插件
    • 正确。在应用插件之前,您无法访问插件提供的任何内容。
    • Can't get this to work in grails 4. gradle docs还说archiveName已被弃用,所以我也尝试了archiveFileName。还是不行。
    【解决方案2】:

    更详细的答案:将此添加到 build.gradle 中的包装任务中,以便根据每个环境创建不同的战争文件名。

    war.archiveName="${war.baseName}_${grails.util.Environment.current.name}.war"
    

    然后像这样创建war文件。

    grails -Dgrails.env=staging war
    

    【讨论】:

    • "将这个添加到 build.gradle 中的包装器任务中..." - 包装器任务与此有什么关系?
    猜你喜欢
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    • 2013-05-07
    • 2017-12-03
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多