Стандартное для 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
-

