Gradle 'war' плагин, как изменить имя архива - PullRequest
0 голосов
/ 03 февраля 2019

Как я могу изменить название войны?

Я уже пробовал (я нашел эти параметры в документации 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.

Ответы [ 2 ]

0 голосов
/ 28 июня 2019

M.Ricciuti ответ правильный, с оговоркой, что, хотя archiveName устарел в Gradle 5.x, Spring Boot все еще использует его в 2.1.6.RELEASE.Например, если задача bootWar была настроена с новым свойством archiveFileName, например:

bootWar {
    archiveFileName 'service.war'
}

, вы получите эту ошибку:

Couldне найден метод archiveFileName () для аргументов [service.war] для задачи ': bootWar' типа org.springframework.boot.gradle.tasks.bundling.BootWar.

Используйте archiveName на данный момент,Подробнее см. Spring BootWar class Java doc .Они могут добавить archiveFileName в будущем.

0 голосов
/ 03 февраля 2019

См. Эту документацию: Справочник по Spring Boot Gradle

Подводя итог: при применении плагина Spring Boot вместе с плагином war задача war отключаетсяпо умолчанию и «заменен» задачей SpringBoot bootWar.

Так что если вы хотите настроить артефакт войны, вам нужно будет настроить задачу bootWar вместо базовой задачи war:

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

Дополнительные примечания:

  • в Gradle 5.x, archiveName устарел, и вы должны использовать archiveFileName вместо
  • , если вы установилиarchiveName свойство, которое вам не нужно устанавливать baseName свойство
...