Стандартное для JavaEE развертывание приложений в WAR-файлы осуществляется с помощью задач сборки buildWar и createWarDistr. Рассмотрим пример сборки WAR-файлов и их развертывания на сервере Glassfish 4.
- 
                     
Добавляем в build.gradle задачи сборки WAR для модулей core и web:
configure(coreModule) { ... task buildWar(dependsOn: assemble, type: CubaWarBuilding) { appName = 'app-core' appHome = '${app.home}' } } configure(webModule) { ... task buildWar(dependsOn: assemble, type: CubaWarBuilding) { appName = 'app' appHome = '${app.home}' } } - 
                     
Добавляем в
build.gradleзадачу сборки дистрибутива:task createWarDistr(dependsOn: [coreModule.buildWar, webModule.buildWar], type: CubaWarDistribution) { appHome = '${app.home}' } - 
                     
Запускаем сборку:
gradlew createWarDistrВ результате в подкаталоге
build/warпроекта создаются домашний каталог с именем${app.home}и файлыapp-core.warиapp.war. Имя домашнего каталога здесь роли не играет, так как реальное имя будет задаваться для сервера с помощью системной переменной Java. - 
                     
Копируем содержимое
build/war/${app.home}на сервер, например в каталог/home/user/app_home. - 
                     
Устанавливаем сервер Glassfish 4, например в каталог
/home/user/glassfish4. - 
                     
Копируем JDBC-драйвер используемой базы данных в каталог
/home/user/glassfish4/glassfish/domains/domain1/lib. Файл драйвера можно взять из каталогаlibStudio, либо из каталогаbuild/tomcat/libпроекта (если перед этим выполнялось быстрое развертывание в Tomcat). - 
                     
Запускаем сервер:
$ cd /home/user/glassfish4/bin$ ./asadmin start-domain - 
                     
Переходим по адресу
http://localhost:4848и в консоли управления сервером:- 
                              
Создаем JDBC Connection Pool для подключения к нашей базе данных, например:
- 
                                       
Pool Name: AppDB
 - 
                                       
Resource Type: javax.sql.DataSource
 - 
                                       
Database Driver Vendor: Postgresql
 - 
                                       
Datasource Classname: org.postgresql.ds.PGSimpleDataSource
 - 
                                       
User: cuba
 - 
                                       
DatabaseName: app_db
 - 
                                       
Password: cuba
 
 - 
                                       
 - 
                              
Создаем JDBC Resource:
- 
                                       
JNDI Name: jdbc/CubaDS
 - 
                                       
Pool Name: AppDB
 
 - 
                                       
 - 
                              
В экране server (Admin Server) -> Properties -> System Properties задаем следующие системные переменные Java:
- 
                                       
app.home = /home/user/app_home- домашний каталог приложения. - 
                                       
log4j.configuration = file:///home/user/app_home/log4j.xml- файл конфигурации логгирования приложения. 
 - 
                                       
 
 - 
                              
 - 
                     
Перезапускаем сервер:
$ ./asadmin stop-domain$ ./asadmin start-domain - 
                     
Снова открываем консоль сервера по адресу
http://localhost:4848и в экране Applications выполняем развертывание файловapp-core.warиapp.war, находящихся в каталоге дистрибутива, созданного на шаге 3. - 
                     
Приложение запущено:
- 
                              
Веб-интерфейс доступен по адресу
http://localhost:8080/app - 
                              
Лог-файлы создаются в каталоге
/home/user/app_home/logs 
 - 
                              
 

