Подтвердить что ты не робот

Создайте войну Grails без номера версии

Как создать файл войны Grails, чтобы он не имел номер версии

(например, foo-0.1.war)

прикреплен к концу, когда я выполняю команду "grails war"?

4b9b3361

Ответ 1

Я думаю, вы можете указать название войны в военной команде.

grails war foo.war

Также проверьте последнюю документацию Grails, где можно установить ее как параметр конфигурации. Подробнее см. В других ответах.

Ответ 2

В случае, если кто-либо приходит к этой статье и использует Grails 1.3.x, параметр конфигурации изменился с grails.war.destFile на Config.groovy на grails.project.war.file в BuildConfig.groovy.

Также имя файла относится к рабочему пространству проекта, поэтому оно должно иметь значение, подобное:

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

Это соответствует последней документации Grails.

Ответ 3

Из Документация Grails, Глава 17, Развертывание

Существует также множество способов, с помощью которых можно настроить файл WAR, который создано. Например, вы можете указать путь (абсолютный или относительный) команде, которая инструктирует ее, где поместить файл и какое имя дайте ему:

grails war /opt/java/tomcat-5.5.24/foobar.war

В качестве альтернативы вы можете добавить строку к Config.groovy, который изменяет значение по умолчанию местоположение и имя файла:

grails.war.destFile = "foobar-prod.war"

Конечно, любой аргумент командной строки что вы предоставляете переопределяет это установка.

Ответ 4

Продвижение других отличных ответов. Существует несколько вариантов:

Явно установить его в командной строке: grails war foo.war

Задайте свойство app.version пустым в application.properties, чтобы война была названа foo.war.

Явно указать имя войны, используя свойство grails.war.destFile в Config.groovy

Ответ 5

Grails 3.x переключился на gradle и использует плагин войны. Вы можете просто указать это имя в файле build.gradle:

war {
    archiveName 'foo.war'
}

Ответ 6

Другой способ создания военных файлов без номера версии - сохранить свойство app.version, пустое в application.properties

Ответ 7

Я немного опоздал на вечеринку... но все равно

Я думаю, что причина удаления номера версии состоит в том, чтобы устранить необходимость переименования файла war, чтобы он развертывался по "правильному" контекстному пути /appName. Если это так, то лучшим вариантом будет использовать версионное имя файла войны, чтобы вы могли развернуть несколько версий одновременно на tomcat, используя следующий шаблон именования в grails-app/conf/BuildConfig.groovy:

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

Как объяснено в http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Parallel_deployment

Этот метод применим в целом к войнам, а не только к войнам Грааля.