2016-02-10 7 views
1

Я хотел бы развернуть приложение Grails 3.0 на внешний экземпляр Tomcat Server и не использовать встроенный сервер tomcat 8. Проблема, с которой я сталкиваюсь, заключается в том, что, как представляется, нет способа установить контекстный путь при развертывании WAR-файла в существующий контейнер Tomcat 8.Контекстный путь Grails 3.0 при развертывании на внешний сервер Tomcat

В строке grails 2.x создан файл META-INF/MANIFEST.MF, содержащий атрибут Webapp-Context, содержащий контекст, к которому может быть применено приложение. С grails 3.0 и развертыванием WAR-файла путь контекста - это просто имя военного файла (без .war).

Настройка server.contextPath в конфигурационных файлах application.groovy или application.yml не имеет эффекта (они, кажется, используются только при использовании встроенного сервера tomcat).

Как установить контекстный путь на Tomcat 8 для военного файла Grails 3.0?

ответ

0

Я выяснил обходное решение. По умолчанию, grails 3.0 создает военный файл формы <app name>-<app version>.war, что приводит к тому, что путь контекста по умолчанию равен <app name>-<app version>.

Исправление, которое я использовал, заключается в редактировании файла build.gradle для настройки имени военного файла. Использование документации для Tomcat 8, я был в состоянии изменить war.archiveName свойство

archiveName = "${project.name}##${project.version}.war" 

Это делает Tomcat 8 принять участие перед ## как путь контекста и часть после ## как версия. Это работает вокруг вопроса, который у меня был.

Смежные вопросы