【问题标题】:Gradle 'war' plugin how to change name of an archiveGradle'war'插件如何更改档案的名称
【发布时间】:2019-06-27 08:11:03
【问题描述】:

如何更改战争名称?

我已经尝试过了(我在文档 https://docs.gradle.org/4.10.2/dsl/org.gradle.api.tasks.bundling.War.html 中找到了这些参数)

war {
baseName = 'service'
archiveName 'service.war'
}

但是,这不起作用。我仍然得到一个快照版本的名字。

./build/libs/search-0.0.1-SNAPSHOT.war

我正在使用 Gradle 4.10 和 Spring Boot 2.1.2.RELEASE。

【问题讨论】:

    标签: spring-boot gradle war


    【解决方案1】:

    请参阅此文档:Spring Boot Gradle reference

    总结一下:Spring Boot gradle 插件与war 插件一起应用时,war 任务默认禁用,由 SpringBoot bootWar 任务“替换”。

    所以如果你想配置战争工件,你需要配置bootWar任务而不是基础war任务:

    bootWar {
        baseName = 'service'
        archiveName 'service.war'
    }
    

    补充说明:

    • 在 Gradle 5.x 中,archiveName 已被弃用,您应该改用 archiveFileName
    • 如果设置了archiveName 属性,则不需要设置baseName 属性

    【讨论】:

      【解决方案2】:

      M. Ricciuti 的回答是正确的,但需要注意的是,即使 archiveName 在 Gradle 5.x 中已被弃用,Spring Boot 仍在 2.1.6.RELEASE 中使用它。例如,如果 bootWar 任务配置了新的 archiveFileName 属性,如下所示:

      bootWar {
          archiveFileName 'service.war'
      }
      

      你会得到这个错误:

      在 org.springframework.boot.gradle.tasks.bundling.BootWar 类型的任务 ':bootWar' 上找不到参数 [service.war] 的方法 archiveFileName()。

      暂时使用archiveName。有关详细信息,请参阅 Spring BootWar class Java doc。他们将来可能会添加archiveFileName

      【讨论】:

        【解决方案3】:

        codemule - 答案是正确的,当在 bootWar 任务中使用 archiveFileName 时会出现不同的错误消息。我正在使用 Gradle 6.5.1。

        使用下面的 bootWar 任务

        bootWar {
            archiveFileName 'bst.war'
        }
        

        我收到了错误消息

        A problem occurred evaluating root project 'example'.
        > No signature of method: build_1z1dezuc71i4g9wsz51um0q6o.bootWar() is applicable for argument types: (build_1z1dezuc71i4g9wsz51um0q6o$_run_closure1) values: [build_1z1dezuc71i4g9wsz51um0q6o$_run_closure1@7abe6e]
        

        当 bootWar 任务使用 archiveName 配置时它消失了

        bootWar {
            archiveName 'example.war'
        }
        

        【讨论】:

          【解决方案4】:
          bootWar {
              archiveFileName.set 'service.war'
          }
          

          【讨论】:

            猜你喜欢
            • 2015-02-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-05-29
            • 2011-03-08
            • 2013-05-01
            • 2016-01-17
            • 2018-04-03
            相关资源
            最近更新 更多