如何更改战争名称?
我已经尝试过(我在文档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。
答案 0 :(得分:4)
请参考此文档:Spring Boot Gradle reference
总结:将Spring Boot gradle插件与war
插件一起使用时,默认情况下war
任务是禁用的,而SpringBoot bootWar
任务是“替换”的。
因此,如果要配置战争伪像,则需要配置bootWar
任务,而不是基本的war
任务:
bootWar {
baseName = 'service'
archiveName 'service.war'
}
其他说明:
archiveName
已过时,应改为使用archiveFileName
archiveName
属性,则无需设置baseName
属性答案 1 :(得分:0)
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
。
答案 2 :(得分:0)
codemule - 答案是正确的,在 archiveFileName
任务中使用 bootWar
时有不同的错误消息。我使用的是 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'
}
答案 3 :(得分:0)
bootWar {
archiveFileName.set 'service.war'
}