Велике посібник по 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" у елемента
Тепер вам треба прописати всі необхідні jar-и в classpath для успішної компіляції вихідних файлів java. $ Використовується для отримання значення змінної "lib.dir", тобто lib.
Тепер пройдемося по модулях (targets) згаданим в списку вище:
Тут я видаляю каталог збірки на випадок якщо він вже існував з раніше скомпільованими файлами
елемент
2. init
Тут я створюю звичайну структуру розгортання, необхідну для tomcat, а саме WebApp / WEB-INF / classes, і т.д. Не має значення, чи існувала директорія WEB-INF до створення каталогу classes. Ant автоматично створює всі необхідні батьківські каталоги, якщо їх не було.
3. compile
Найбільш важливий і найбільш багатий на помилки крок. Переконайтеся, що classpath налаштований коректно в елементі
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.