ANT разработан на Java и по этому он платформа-независимый. ANT получает инструкции в виде XML-Документа, поэтому он легко расширяемый и удобный в использовании. Вам не нужны какие-нибудь специальные редакторы для того что-бы создать конфиг для ANT-а, сойдет самый обычный текстовый редактор.
Установка ANT-а:
Если вы используете какое-нибудь IDE типа Eclipse тогда вам не нужно скачивать никаких дополнительных библиотек, они по-дефолту встроены туда.
Если же вы не используете IDE и делаете все в текстовом редакторе, тогда вам нужно сделать кое-что:
Steps to set path cmd if you are not using any IDE:
Steps to set path cmd if you are not using any IDE:
- Скачать файлы из http://jakarta.apache.org/ant/index.html и распаковать их где вам удобно. and unzip them to some directory.
В нашем случае мы назовем папку - ant. - Добавьте путь /%ПУТЬ_ К_ПАПКЕ%/ant/bin в переменную PATH. (например export PATH=/usr/bin/ant;$PATH )
- Добавьте .jar файлы из /%ПУТЬ_ К_ПАПКЕ%/ant/lib в переменную окружения CLASSPATH. Переменную окружения JAVA_HOME установите путь к папке с установленной JDK. В переменную CLASSPATH добавьте /%ПУТЬ_ К_JDK%/lib
Формат файла настройки ANT-а (build.xml) :
Это XML файл, обычно по-умолчанию ант использует файл с именем build.xml. Ниже представлен скриншот билд файла, он настроен на сборку кода из папочки src

Это об]явление XML файла, с его версией. Все файлы должны начинаться с этого.
Этот элемент содержит три атрибута. 1. name: Тут вы указываете имя проекта для которого вы пишите этот билд файл
2. default: Это действие по-умолчанию которое будет выполнено антом.
3. basedir: Это базовая(корневая) директория для вашего проекта. В фале . означает текущая директория. Если этот атрибут не будет указан - будет использована родительская, то есть на каталог выше. МЕЖДУ $ И { } НЕТ ПРОБЕЛА.
1. Target: Этот элемент может быть описан как функция которая содержит набор инструкций к исполнению. Он содержит атрибут name который используется для вызова данного таргета ( не знаю как это по русски).
2. mkdir: Этот элемент используется для создания директории. Он содержит атрибут dir который принимает значение имени директории которая будет создана.
This target compiles the code. Здесь в атрибуте depends указано что данный элемент зависит он элемента init. В качестве компилятора используется javac из переменной окружения PATH, если он явно не указан в отдельном атрибуте. Итак, что бы запустить все это, у вас уже должны быть настроены переменные окружения JAVA_HOME и CLASSPATH. srcdir - директория с исходниками .java; destdir- директория для скомпилированных файлов .class
Создание Build файла для компилирования проектп:
Сейчас мы напишем билд файл который выполни чистую сборку проекта.В нашем проекте все исзодники находятся в директории и там есть один файл HelloWorld.java для компиляции.
01.xmlversion="1.0"encoding="UTF-8"?>02.03.04.<projectname="HelloWorld"basedir="."default="compile">05.06.07.<propertyname="bin"value="bin"/>08.09.10.<targetname="init"depends="clean">11.<mkdirdir="${bin}"/>12.target>13.14.15.<targetname="clean">16.<deletedir="${bin}"/>17.target>18.19.20.<targetname="compile"depends="init">21.<javacsrcdir="src"destdir="${bin}"/>22.target>23.project>
Я надеюсь что в примере выше все понятно и мы двинемся дальше к такое веще как dependency (зависимости).
Когда элемент target содержит атрибут depends - это означает что текущий блок будет исполнен только после елемента от которого он зависит.
В нашем случае зависимости идут в таком порядке:
1. Запуск елемента по-умолчанию compile, который зависит от init.
2. Запуск елемента init, который зависит от таргета clean.
3. Итак, сначала зупустится на исполнение clean затем init и далее compile.
Имейте в виду:
Вы можете указывать несколько параметров в атрибуте depends, например depends="clean,init" и его исполнение будет происходит с лева направо. Будьте осторожны с описанием зависимостей.
Запуск ant файла
Если выиспользуете IDE например Eclipse, вы можете просто кликнуть правой кнопкой и выбрать Run As --> ANT build.
Если с вашим CLASSPATH и кодом все в порядке, вы увидите в консоле следущее :

Всего хорошего!
Комментариев нет:
Отправить комментарий