Представим групповую работу над сложным Java приложением, требующую установки и развертывания всего проекта как на машинах разработчиков, так и тестеров и дизайнеров. Все файлы хранятся в CVS, разработка идет в Eclipse. Новому работнику ставится задача установить у себя локальный сервер приложений, веб сервер, закачать себе из CVS текущую рабочую версию проекта, скомпилировать, собрать и развернуть веб часть на веб сервере, ejb на сервере приложений.
Новому человеку, да и не только новому, бывает трудно понять и без ошибок собрать в ручную замысловатый и разветвленный проект. К тому же, если он поставить какое-нибудь приложение не в ту папку, шансы что все заработает с первого раза равны нулю.
Удобным решением этой проблемы может стать пакет для автоматизации сборки и развертывания приложений из исходного кода Apache Ant. Стоит потратить полдня на изучение этой полезной утилиты и огромная головная боль будет снята.
В этой статье мы приведем текст Ant build файла для тестового приложения. Это будет все тот же простой пример сервлета и MDB.
Сначала рассмотрим раскладку файлов в Eclipse.
My Application
conf
META-INF
application.xml
myapplication-ejb.jar
META-INF
ejb-jar.xml
orion-ejb-jar.xml
myapplication-web.jar
META-INF
web.xml
lib
commons-logging.jar
log4j-1.2.13.jar
orion.jar
ejb.jar
my.ejb.bean
ApplicationWorker.java
my.web
ApplicationServlet.java
properties
my.log4j.properties
myapplication.properties
JRE System Library [jre5]
deploy-jar.xml
my.properties
В папке conf мы создаем все мета файлы нашего проекта. Она содержит подпапки с файлами описывающими веб часть и ejb часть. Это папки myapplication-web.jar и myapplication-ejb.jar. В зависимости от сервера приложений, содержание этих файлов и их количество, может менятся. В тестовом проекте мы используем сервер приложений Orion, поэтому все настроено именно под него.
Папка lib содержит необходимые библиотеки. orion.jar и ejb.jar используются только на стороне Eclipse и не принимают участие в развертывании так как эти библиотеки уже есть в самом сервере и копировать их нет необходимости.
Следующие файлы о которых следует сказать это ApplicationWorker.java и ApplicationServlet.java. Они лежат в папках my.ejb.bean и my.web соответственно. Это Java файлы с исходным текстом программ. Они будут автоматически компиллрованы Антом и мы получим готовые классы.
В папке properties лежат настроечные файлы приложения. Они будут скопированы на сервер, но перед этим, если необходимо они будут пропущены через фильтр и все определенные переменные заменены из файла настройки развертывания - my.properties. Мы покажем как это происходит на примере my.log4j.properties.
deploy-jar.xml это основной файл сценария пакета автоматизации сборки Apache Ant
В файле my.properties хранятся настройки сценария развертывания приложения и фильтров.
Теперь посмотрим что нам надо получить на сервере.
Orion
config
my.log4j.properties
myapplication.properties
lib
commons-logging.jar
log4j-1.2.13.jar
applications
my_application.ear
META-INF
MANIFEST.MF
my_application-web.war
META-INF
MANIFEST.MF
WEB-INF
web.xml
classes
my
web
ApplicationServlet.class
my_application-ejb.jar
META-INF
MANIFEST.MF
ejb-jar.xml
orion-ejb-jar.xml
my
ejb
bean
ApplicationWorker.class
Нам надо скопировать две библиотеки в папку orion/lib, два настроечных файла приложения в папку orion/config и собственно главный архив приложения my_application.ear в папку orion/applications. Содержание архива хорошо видно на предыдущей схеме, что значительно упрощает создание сценария работы пакета Apache Ant.
Microgames.ru v.2 - Новости, примеры, статьи о программировании.
Сделано в 2006 году. Перевыпущен в 2008 году.
Сайт содержит оригинальные материалы и переводы.
Сообщения об ошибках просьба присылать по адресу: contact@microgames.ru
Новое сообщение