Как создать военный файл Grails, чтобы у него не было номера версии
(например, foo-0.1.war)
прикреплен к концу, когда я выполняю команду «войны Грааля»?
Как создать военный файл Grails, чтобы у него не было номера версии
(например, foo-0.1.war)
прикреплен к концу, когда я выполняю команду «войны Грааля»?
Я думаю, вы можете указать название войны в команде войны.
grails war foo.war
Также проверьте последнюю документацию по Grails, чтобы узнать, где установить этот параметр в качестве параметра конфигурации. Подробности смотрите в других ответах.
target, как можно было бы ожидать, а в каталог вашего проекта. Однако вы также можете указать путь, см. grails.org/doc /2.2.1/ref/Command%20Line/war.html
- person peterp; 08.07.2013
Если кто-нибудь наткнется на эту статью и использует 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 и использует подключаемый модуль war. Вы можете просто указать такое имя в файле build.gradle:
war {
archiveName 'foo.war'
}
Еще один способ создать файлы war без номера версии — оставить свойство app.version пустым в application.properties.
Я немного опоздал на вечеринку... но тем не менее:
Я думаю, что причина удаления номера версии заключается в том, чтобы устранить необходимость переименовывать военный файл, чтобы он развертывался по «правильному» контекстному пути /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
Этот метод применим к войнам в целом, а не только к войнам Грааля.