Создать Grails 3 WAR без номера версии

В Grails 2 мы могли определить имя файла WAR следующим образом:

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

Как переопределить имя файла войны в Grails 3?

Спасибо, Джефф.

Я добавил такую ​​​​строку в build.gradle:

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

person sfgroups    schedule 10.11.2015    source источник


Ответы (2)


В 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.

person Jeff Scott Brown    schedule 10.11.2015
comment
Значение, конечно, может быть динамическим: war.archiveName="${war.baseName}.war" тоже. - person Jeff Scott Brown; 10.11.2015
comment
Стоит отметить, что настройку этого свойства необходимо выполнять ПОСЛЕ применения военного плагина. - person GeoGriffin; 12.05.2017
comment
Правильный. Вы не можете получить доступ к чему-либо, предоставленному плагином, пока плагин не будет применен. - person Jeff Scott Brown; 12.05.2017
comment
Не могу заставить это работать в grails 4. Документы Gradle также говорят, что имя_архива устарело, поэтому я также попробовал имя_архива. Все еще не работает. - person user2782001; 13.12.2019

Более подробный ответ: добавьте это в задачу-оболочку в build.gradle, чтобы она создавала другое имя файла войны в зависимости от каждой среды.

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

Затем создайте файл войны, подобный этому.

grails -Dgrails.env=staging war
person Arjang    schedule 19.01.2016
comment
Добавьте это в задачу-оболочку в build.gradle... - Какое отношение к этому имеет задача-оболочка? - person Jeff Scott Brown; 13.05.2016