【问题标题】:Grails 4 WAR file confusionGrails 4 WAR文件混淆
【发布时间】:2020-05-21 16:23:56
【问题描述】:

我有一个从 3.3.0 升级到 4.0.3 的 Grails 应用程序。 在我的 build.gradle 文件中,我有以下内容

war {
    archiveName 'Wolf.war'
}

在版本 3 中,这将在运行“grails war”时将我的战争文件命名为 Wolf.war,正如预期的那样。但是,在 Grails 4 中,这不再适用于我。我知道这与 Gradle 有关。我有 Gradle 5.1.1,并且根据 docs,archiveName 属性已被弃用(但应该仍然有效?)。

我的问题是,在使用 Gradle 5(或更高版本?)的 Grails 4 应用程序中,强制使用“grails war”命令生成的战争文件名称的正确方法是什么?

【问题讨论】:

    标签: java gradle grails


    【解决方案1】:

    假设您使用的是默认构建配置,您应该使用 bootWar 而不是 war

    bootWar {
        archiveName 'Wolf.war'
    }
    

    【讨论】:

    • 如果我打算将战争放到 tomcat 服务器中,我会使用这个吗?
    • 我不是在寻找可启动的战争或 jar。我只想要一个可以部署到现有 tomcat 服务器的标准 war 文件。
    • "如果我打算将战争放到 tomcat 服务器中,我会使用这个吗?" - 是的。
    • “我不是在寻找可启动的战争或 jar。我只是想要一个可以部署到现有 tomcat 服务器的标准战争文件。” - "bootWar""boot" 部分与可引导性没有任何关系。 bootWar 是 Spring Boot 提供的 Gradle 任务(Grails 建立在其之上)。当你运行grails war 时,bootWar 任务就会运行。
    • 这确实会创建具有所需名称的战争文件。然而,还是有些不对劲。将war文件放入tomcat后,tomcat会自动分解,我现在看到一个org.springframework.boot.loader文件夹。我以前没有这个。我不知道拥有它是否重要。我更担心的是我不再有资产文件夹,所以现在我没有任何图像和 css 文件。我会继续挖掘。
    猜你喜欢
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 2013-02-19
    相关资源
    最近更新 更多