Велике посібник по apache ant

Apache Ant - потужний інструмент для перетворення ваших структур розробки в структури розгортання додатків. Він є декларативним і всі інструкції командного рядка, які використовуються для розгортання програми, представляються простими XML-елементів. Не вдаючись в деталі, даний посібник крок за кроком розповість вам як організувати складання web-додатки за допомогою одного-єдиного XML-файла.


Моя структура розробки складається з наступних каталогів:

Всі ці каталоги знаходяться в батьківської директорії "WebApp".

Ось три речі, які вам треба тримати в умі для створення файлу збірки Ant:

1. tasks (завдання) - відповідають інструкціям командного рядка, наприклад javac, war і т.д. Група завдань може виконуватися послідовно за допомогою вказівки цілей.
2. target (мета) - це щось на зразок функції, в якій ви розміщуєте завдання, таким чином отримуючи можливість повторно викликати їх без дублювання.
3. properties (властивості) - використовуються для визначення змінних в ваших файлах збірки, що дуже корисно, в разі коли назва проекту або назви директорій можуть змінюватися.

Одна з найприємніших особливостей Ant в тому, що ви можете зберігати файл властивостей окремо, замість того, щоб визначати всі змінні всередині файлу збірки. Файли властивостей складаються з перерахування всіх необхідних змінних і їх значень у вигляді пар ім'я-значення і являють собою звичайний текстовий файл. В даному посібнику я буду використовувати зовнішній файл властивостей.

При написанні посібника, я використовував наступні інструменти:

1. Java версії 1.5
2. Apache Tomcat 5.0
3. Apache Ant 1.6.5

Отже, ми готові приступити до освоєння Ant. Для цього створіть файл з ім'ям "build.properties". Це буде наш зовнішній файл зі змінними:

УВАГА: обов'язково потрібно натиснути ENTER, щоб почати новий рядок після останньої, інакше Ant видасть помилку "BUILD FAILED for some unknown reason"

Немає необхідності давати змінним імена з точкою. Ви можете використовувати такі імена як "projectName", але значення не повинно містити лапок. Тобто НЕ повинно бути чогось на кшталт projectName = "WebApp"

Для створення файлу збірки, ми повинні пам'ятати, що насамперед необхідні для розгортання проекту. Щоб спростити собі життя, просто створіть модулі (targets), для всіх дій при розгортанні web-додатки:

Почніть писати файл build.xml в каталозі ant наступним чином:
Тепер ми повинні встановити classpath для servlet-api.jar для компіляції наших сервлетів, тому помістіть servlet-api.jar в каталог lib вашої структури розробки. Перевірте властивість "default" у елемента . У ньому встановлено ОСТАННІЙ модуль (target) файлу збірки. У нашому випадку це "war"

Усі наступні XML-елементи будуть розміщені всередині . створеного раніше. Напишіть елемент для завдання classpath,
Тепер вам треба прописати всі необхідні jar-и в classpath для успішної компіляції вихідних файлів java. $ Використовується для отримання значення змінної "lib.dir", тобто lib.

Тепер пройдемося по модулях (targets) згаданим в списку вище:


Cleaning the $

Тут я видаляю каталог збірки на випадок якщо він вже існував з раніше скомпільованими файлами
елемент служить тільки для виведення поточного дії в командному рядку.

2. init
Тут я створюю звичайну структуру розгортання, необхідну для tomcat, а саме WebApp / WEB-INF / classes, і т.д. Не має значення, чи існувала директорія WEB-INF до створення каталогу classes. Ant автоматично створює всі необхідні батьківські каталоги, якщо їх не було.

3. compile
Найбільш важливий і найбільш багатий на помилки крок. Переконайтеся, що classpath налаштований коректно в елементі . Якщо все зроблено правильно, то всі файли в директорії "src.dir" успішно скомпілюйте і перемістяться в build \ WebApp \ WEB-INF \ classes. Зверніть увагу на властивість "depends" елемента . Воно використовується для послідовного зв'язку модулів (targets).

5. war
Це останній модуль (target) в моєму файлі build.xml, що створює WebApp.war, необхідний для розгортання. "War" - інструкція Ant якої ви передаєте шлях до web.xml і каталог містить структуру розгортання, тобто, в нашому випадку, директорію "build". destfile - остаточне розташування і ім'я war-файлу, який повинен прийняти вид dist \ WebApp.war після відпрацювання скрипта.

запуск скрипта

Збережіть build.properties і build.xml в каталозі ant. Переконайтеся, що в змінному середовищі ANT_HOME прописаний каталог bin для вашої установки ant. Тепер, все, що вам потрібно зробити - запустити команду ant на файлі збірки таким чином:

C: \> cd WebAppant \ ant
C: \ WebAppant \ ant> ant

От і все. У разі успіху, ваші розробки в підсумку стануть повністю упакованим WebApp.war.

заключні слова

Отже, з наших вихідних файлів, за допомогою одного XML-файла і чудового інструменту Ant, ми зробили повністю упакований war-файл, готовий до розгортання в tomcat manager. Можна копати глибше для створення складного build.xml, що використовує повний набір елементів, що надається Ant-му. Але мета даного посібника лише ознайомити вас з використанням Apache Ant. Якщо у вас виникли будь-які труднощі в розумінні конкретних елементів, будь ласка, прочитайте їх докладний опис в документації Apache Ant.