Как создать файл войны Grails, чтобы он не имел номер версии
(например, foo-0.1.war)
прикреплен к концу, когда я выполняю команду "grails war"?
Как создать файл войны Grails, чтобы он не имел номер версии
(например, foo-0.1.war)
прикреплен к концу, когда я выполняю команду "grails war"?
Я думаю, вы можете указать название войны в военной команде.
grails war foo.war
Также проверьте последнюю документацию Grails, где можно установить ее как параметр конфигурации. Подробнее см. В других ответах.
В случае, если кто-либо приходит к этой статье и использует Grails 1.3.x, параметр конфигурации изменился с grails.war.destFile
на Config.groovy
на grails.project.war.file
в BuildConfig.groovy
.
Также имя файла относится к рабочему пространству проекта, поэтому оно должно иметь значение, подобное:
grails.project.war.file = "target/${appName}.war"
Это соответствует последней документации Grails.
Из Документация Grails, Глава 17, Развертывание
Существует также множество способов, с помощью которых можно настроить файл WAR, который создано. Например, вы можете указать путь (абсолютный или относительный) команде, которая инструктирует ее, где поместить файл и какое имя дайте ему:
grails war /opt/java/tomcat-5.5.24/foobar.war
В качестве альтернативы вы можете добавить строку к Config.groovy, который изменяет значение по умолчанию местоположение и имя файла:
grails.war.destFile = "foobar-prod.war"
Конечно, любой аргумент командной строки что вы предоставляете переопределяет это установка.
Продвижение других отличных ответов. Существует несколько вариантов:
Явно установить его в командной строке: grails war foo.war
Задайте свойство app.version
пустым в application.properties, чтобы война была названа foo.war
.
Явно указать имя войны, используя свойство grails.war.destFile
в Config.groovy
Grails 3.x переключился на gradle и использует плагин войны. Вы можете просто указать это имя в файле build.gradle
:
war {
archiveName 'foo.war'
}
Другой способ создания военных файлов без номера версии - сохранить свойство app.version, пустое в application.properties
Я немного опоздал на вечеринку... но все равно
Я думаю, что причина удаления номера версии состоит в том, чтобы устранить необходимость переименования файла 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
Этот метод применим в целом к войнам, а не только к войнам Грааля.