- Статьи и примеры
- | Разное полезное
- | Про то, как написать ant скрипт для развертывания приложения на сервере приложений orion
Про то, как написать Ant скрипт для развертывания приложения на сервере приложений Orion
Постановка задачи.
Представим групповую работу над сложным 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
- META-INF
- myapplication-web.jar
- META-INF
- web.xml
- META-INF
- META-INF
- 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
В папке 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
- web
- my
- META-INF
- my_application-ejb.jar
- META-INF
- MANIFEST.MF
- ejb-jar.xml
- orion-ejb-jar.xml
- my
- ejb
- bean
- ApplicationWorker.class
- bean
- ejb
- META-INF
- META-INF
- my_application.ear
- config
Нам надо скопировать две библиотеки в папку orion/lib, два настроечных файла приложения в папку orion/config и собственно главный архив приложения my_application.ear в папку orion/applications. Содержание архива хорошо видно на предыдущей схеме, что значительно упрощает создание сценария работы пакета Apache Ant.
Страница:
-
1