5.3.4. Развертывание WAR в Tomcat Windows Service
-
Откройте диалог в Studio: дерево проектов CUBA > Project > Deployment > WAR Settings, или просто вручную добавьте задачу buildWar в конец скрипта сборки build.gradle.:
task buildWar(type: CubaWarBuilding) { singleWar = true includeContextXml = true includeJdbcDriver = true appProperties = ['cuba.automaticDatabaseUpdate': true] }
Если параметры сервера отличаются от параметров локального Tomcat, используемого для быстрого развертывания, укажите соответствующие свойства приложения. Например, если конечный сервер запущен на порту 9999 и вы используете сборку раздельных WAR файлов, то определение задачи должно выглядеть следующим образом:
task buildWar(type: CubaWarBuilding) { singleWar = false includeContextXml = true includeJdbcDriver = true appProperties = [ 'cuba.automaticDatabaseUpdate': true, 'cuba.webPort': 9999, 'cuba.connectionUrlList': 'http://localhost:9999/app-core' ] }
Вы можете указать отдельный файл проекта
war-context.xml
для указания настроек подключения к базе данных, или предоставить этот файл позже на сервере:task buildWar(type: CubaWarBuilding) { singleWar = true includeContextXml = true includeJdbcDriver = true appProperties = ['cuba.automaticDatabaseUpdate': true] coreContextXmlPath = 'modules/core/web/META-INF/war-context.xml' }
-
Запустите задачу
buildWar
. В результате, файлapp.war
(или несколько файлов, если вы настроили сборку раздельных WAR) будет собран в каталогеbuild/distributions
вашего проекта.gradlew buildWar
-
Скачайте и установите Tomcat 9 Windows Service Installer с официального сайта Apache Tomcat.
-
После завершения установки, перейдите в подкаталог
bin
установленного сервера и запуститеtomcat9w.exe
от имени администратора, чтобы поменять настройки службы Tomcat:-
На вкладке Java установите параметр Maximum memory pool 1024MB.
-
Укажите для Tomcat использовать кодировку UTF-8, добавив строку
-Dfile.encoding=UTF-8
в поле Java Options. -
Укажите домашний каталог приложения, добавив строку
-Dapp.home=c:/app_home
в поле Java Options.
-
-
Если вы хотите предоставить параметры подключения к БД через локальный файл на сервере, создайте файл в подкаталоге
conf/Catalina/localhost
каталога Tomcat. Название файла зависит от названия WAR-сборки, напримерapp.xml
для single WAR, илиapp-core.xml
, если собираются раздельные WAR-файлы. Скопируйте содержимоеcontext.xml
в этот файл. -
При использовании настроек по умолчанию, все журнальные сообщения приложения попадают в файл
logs/tomcat9-stdout.log
. У вас есть два варианта, как кастомизировать настройки журналов:-
Создать файл конфигурации logback в вашем проекте. Укажите путь к этому файлу в параметре
logbackConfigurationFile
задачи buildWar (вручную или с помощью диалога Studio WAR Settings). -
Создать файл с настройками журналирования на конечном сервере.
Скопируйте файл
logback.xml
из локального Tomcat (под-папкаdeploy/tomcat/conf
проекта) в домашний каталог приложения и поменяйте свойствоlogDir
в этом файле:<property name="logDir" value="${app.home}/logs"/>
Добавьте следующую строчку в поле Java Options окна настроек Windows-службы Tomcat 9, чтобы указать путь к настройкам журналирования:
-Dlogback.configurationFile=C:/app_home/logback.xml
-
-
Скопируйте сгенерированный WAR файл(-ы) в подкаталог
webapps
сервера Tomcat. -
Перезапустите службу Tomcat.
-
Откройте
http://localhost:8080/app
в браузере.