ant (анг. муравей) — это мощный платформо-независимый скриптовый инструмент, используемый для сборки приложений. Сценарий сборки приложения java оформляется в виде XML-файла подобно скриптам «make» при обработке файлов С/С++. По-умолчанию сценарий сборки извлекается из файла build.xml.
Пример описания сценария сборки :
- копирование *.jar файлов в каталог релиза, но перед этим необходимо
- сформировать *.jar файлы, но перед этим необходимо
- скомпилировать java-файлы в файлы *.class
Сценарий сборки ant’у показывает что надо делать, чтобы превратить из того, что есть (как правило, исходный java-код) в то, что необходимо. Сценарий представляет собой детальный план сборки из частей единого целого, включающий ряд операндов, позволяющих выполнять команды копирования, удаления и перемещения файлов, компиляции java-файлов, формирование документации к коду и исполняемого jar-файла.
Структура сценария сборки — ant project, basedir, target
Корневой элемент сценария project может содержать три необязательных атрибута :
AntBrowser — полный обзор всех функций антидетект браузера | Ant Browser бесплатный промокод в видео
- name — имя проекта;
- default — цель проекта по умолчанию;
- basedir — базовая директория, относительной которой будут вычисляться все пути.
Элемент описывающий цель проекта target может содержать следующие атрибуты :
- name — имя цели, обязательный атрибут;
- depends — промежуточные цели, от которых зависит данная цель; имена перечисляются через запятую;
- if — определяет какие свойства должны быть равны true для запуска цели;
- unless — определяет какие свойства должны быть равны false для запуска цели;
- description — краткое описание цели, что она делает.
Параметр property определяет пару имя/значение, которая может многократно использоваться в сценарии подобно переменным. Свойства (настройки) можно определять как внутри build.xml файла, так и в отдельных файлах. При определении внутри xml файла свойства могут включать следующие атрибуты :
- name — имя свойства;
- value — значение свойства;
- location — устанавливает значение свойства в абсолютный путь. Если значение уже абсолютный путь, то ничего не меняется, если относительный то подставляется базовая директория. Символы / и меняются автоматически в зависимости от платформы;
- refid — ссылка на другой объект, определенный где-либо;
- resource — имя ресурса содержащего настройки в формате настроечного файла;
- file — путь к файлу настройки (в нем свойства определяются как имя=значение на отдельной строке);
- url — адрес настройки;
- environment — префикс используемый для доступа к переменным окружения. Например, если определено myenv, то к переменным обращаются как «myenv.PATH»;
- classpath — путь к ресурсам;
- prefix — префикс добавляемый к свойствам загруженных из файла, ресурса, или url. По умолчанию префикс «.».
Шаблон простейшего сценария :
Delete all *.jar files *.jar» />
Согласно представленному сценарию ant’у необходимо удалить все *.jar файлы из директории d:projectsbin.
3 приложения которые нужно немедленно удалить!
В примере сценарий сборки содержит тег проект project, включающий несколько заданий target. Первая строка примера содержит общую инфомацию о проекте. Самые важные атрибуты проекта project это элемент наименования задания (значение default) и базовая директория basedir.
Атрибут basedir указывает на базовую директорию, от которой будут вычисляться относительные пути, используемые в сценарии сборки. Каждый проект может иметь только один атрибут basedir, поэтому можно указывать либо полные пути, либо разбивать сценарий на несколько файлов сборки, в каждом из которых указывать свою базовую директорию. Атрибут default указывает на задание target, определенное для выполнения по-умолчанию.
ant работает из командной строки поэтому необходимо определить переменную окружения ANT_HOME, указывающую корневую директорию приложения.Для запуска ant’a на выполнение сценария необходимо правильно описать команду. Примеры вызова Ant’а для выполнения сценария:
- ant -buildfile simple.xml clean.jar
- ant -buildfile simple.xml
- ant compile
- ant
В первом и втором примерах сценарии сборки определены параметром -buildfile и представлены в файле simple.xml. В третьем и четвертом примерах сценарии сборки представлены в файле build.xml, наименование которого используется по-умолчанию. В первом примере выполняется сценарий с заданием clean.jar, в третьем сценарии — compile. Во втором и четвертом примерах Ant выполняет сценарии, определенные по умолчанию.
Определение свойств задания, ant property
Свойства в сценарии ant – это аналог переменных в программировании. Каждое свойство имеет два параметра :
- name – имя свойства;
- value – значение.
Примеры определения свойств для секций, property :
Использовать свойства очень просто, для этого нужно имя свойства написать между символами $ < ‘property.name’ >. Например, выражение: $ /src будет преобразовано в «D:ReleasemyProjectsrc».
Создание директории, ant mkdir
Make a directory » />
В представленном задании «make.dir» ant должен создать директорию «D:ReleasemyProject», определенную атрибутом «dstDir».
Копирование файлов, ant copy todir
Представленный сценарий решает задачу копирования файла myProject.ini из директории проекта prjDir в директорию сборки проекта basedir.
Copy *.ini files
Команда «copy» включает вложенный элемент fileset>, который определяет группу файлов. Файлы, которые включаются в эти группы, располагаются в поддиректориях относительно базовой, определенной атрибутом basedir корневого элемента project.
Для файлов может быть указан набор масок patternset, по которым будут отбираться файлы. Шаблон patternset может быть включен как вложенный элемент в элемент fileset и иметь атрибут id, по которому можно ссылаться на данный набор из других мест сборки. Например:
Элементы include и exclude указывают на маски (фильтры), результат применения которых следует включать и не включать в набор.
Компиляция java-файлов, ant javac
Следующие задания сценария сборки решают задачу компиляции java-файлов. Элемент srcDir определяет директорию с файлами исходных кодов. Если java-файлы располагаются в поддиректории, то после фигурных скобок и «слеша» необходимо указать поддиректорию.
Compile common java files «> Compile sql files «> «>
Элемент destDir определяет директорию назначения. Если в исходных java-файлах указан пакет package, то откомпилированные class-файлы будут располагаться в соответствующих поддиректориях.
Второе задание compile зависит от первого задания common согласно значения атрибута depends, в связи с чем при вызове ant’а с флагом compile первоначально будет выполнено первое задание.
Для выполнения второго задания, т.е. для компиляции файлов, необходимо использовать дополнительные библиотеки, упакованные в .jar файлы, в связи с чем путь к этим библиотекам указывается в элементе classpath.
Существует 2 особенности задачи компиляции java-файлов javac. Во-первых, можно не указывать непосредственно имена java файлов — достаточно просто указать каталог. Во-вторых, если ant определит, что class файл существует и новее, чем java файл, то компиляция будет проигнорирована. Эти две особенности являются примерами приемов сборки приложения.
Формирование .jar файла, ant jar
Java приложения, как правило, поставляются упакованными в jar файлы. ant использует команду «jar» для создания архивов :
Make jar file
В представленном задании сценарий формирования файла jar зависит от задания компиляции compile. Упакованный архив в виде файла myProject.jar будет включать все поддиректории с файлами, расположенными в директории dstDir.
Определение манифеста приложения
ant позволяет вставить в сборку готовый файл манифеста manifest.mf.
/myProject.jar» basedir=»$ » manifest=»$ /manifest.mf»/>
Но можно также определить содержимое манифеста:
Запуск приложения, ant fork
Ант позволяет запускать приложение. Для этого необходимо определить параметры приложения и свойству fork присвоить значение «true». Определим задание для запуска создаваемого jar-файла.
/myProject.jar» fork=»true»/>
Следует обратить внимание, что параметр depends имеет значение dist. Поэтому, пока архив не создан, запускать нечего. Запуск программы осуществляет тег «java». Его параметр jar указывает, что мы хотим запустить программу из jar-архива.
Параметр fork имеет значение true, это означает, что для запуска программы мы используем отдельную виртуальную машину (обязательное требование при запуске из jar-файла).
Задание с тестами, JUnit
Следующая задача запускает тесты (если они были созданы прежде).
Внимание. Для того, чтобы работала эта задача нам нужно рассказать ant где находится библиотека junit.jar. В документации к ant описывается три различных способа, которые позволяют это сделать. Самый простой способ — это копирование файла junit.jar в папку ANT_HOME/lib.
Тестирование выполняется в теге junit, который имеет два параметра:
- fork – запускает тесты в отдельной виртуальной машине;
- haltonfailure – останавливает выполнение, в случае если тест не проходит.
Содержимое тега classpath определяет размещение скомпилированных тестов и классов, которые они трестируют.
Тег formatter задает параметры отображения результатов тестирования. Параметр type=»plain» указывает, что результаты тестирования должны отображаться в виде обычного текста, а параметр usefile=»false» обеспечивает вывод результатов на экран, а не в файл.
С помощью тега test запускается тест. В параметре name указывается наименование теста.
Архивирование файлов, ant zip
Для архивирования файлов необходимо использовать в задании тег zip.
С помощью параметра destfile задаем имя архива. А вложенный тег fileset позволяет указать перечень файлов, которые войдут в архив.
Согласно заданию в архив включаем только исходные коды java и файлы с расширениями mf, xml. Атрибут dir задает стартовую папку, includes – указывает шаблоны выбора файлов в архив («**» — означают любую папку, «*» — любое количество любых символов в имени файла).
Очистка временных директорий, ant delete
Для очистки временных директории и удаления файлов необходимо использовать тег delete. С её помощью можно удалить результаты работы всех предыдущих задач и оставить только исходники.
Тег delete удаляет папку и её содержимое. Параметр dir задает имя папки. В последнем теге параметр file определяет имя файла.
Обратите внимание, что в первом теге delete имя папки указывается явно (не используя параметры), что позволяет за один раз удалить папки build/classes и build/tests.
Перемещение и переименование файлов/директорий, ant move
Для переименования и перемещения файлов или директорий необходимо использовать move.
Создание документации, ant javadoc
ant можно использовать для создания документации java-приложения. Пример задания приведен на странице javadoc.
Подробная информация формирования документации представлена на странице Javadoc/Javadoc2
Источник: java-online.ru
Инструкция по работе с Apache ANT
Инструмент сборки – это инструмент программирования, который используется для создания новой версии программы. Он автоматизирует создание исполняемого приложения из любого исходного кода.
Что такое Apache Ant Build Tool?
Ant – это сокращение от Another Neat Tool. Это инструмент сборки на основе XML, который является широко используемым инструментом сборки на основе Java с полной переносимостью чистого кода Java. Например, он позволяет разработчикам применять гибкие принципы и позволяет разрабатывать на основе тестов. Вы можете использовать его для всех повторяющихся задач. Например, создание документации.
Зачем использовать инструмент сборки как ANT?
Вот важные плюсы использования инструмента Build:
- Инструмент сборки позволяет автоматизировать определенные повторяющиеся задачи, такие как компиляция исходного кода, запуск тестов программного обеспечения и создание файлов для развертывания программного обеспечения.
- Инструменты сборки в основном работают без графического интерфейса пользователя.
- Помогает конвертировать исходный код в исполняемый код
- Предоставляет возможность перекомпилировать файл только при необходимости.
- Позволяет собирать номера файлов за относительно короткое время
- Два широко популярных инструмента сборки, используемых разработчиками Java, – Apache Maven и Ant.
История Apache Ant
Вот важные исторические вехи инструмента Apache Ant:
- Джеймс Дункан Дэвидсон создал муравья в июле 2000 года.
- Изначально он использовался для сборки Tomcat и был встроен в дистрибутив Tomcat.
- В мае 2014 года вышла версия Apache Ant 1.9.4 с множеством расширенных функций.
- Это последняя версия 1.10.3, выпущенная в марте 2018 года.
Особенности Apache Ant
Вот основные функции Apache Ant:
- Это проект с открытым исходным кодом.
- Позволяет запускать сборки как в системах Windows, так и в системах UNIX / Linux.
- Вам требуется только JVM, так как он работает где угодно, когда JVM доступна.
- Предлагает широкий спектр предопределенных задач
- Помогает вам копировать из одного места в другое.
- Предлагает интерфейс для разработки пользовательских задач.
- Позволяет вызывать из командной строки, которая может легко интегрироваться с бесплатными и коммерческими IDE.
- Позволяет развернуть двоичные файлы на тестовом сервере
- Предлагает расширяемую архитектуру
- Предлагает обратную совместимость
Установка и настройка Apache Ant
Что такое программа ant
В этой рубрике Вы найдете уроки, которые относятся к теме создания сайта, но не попали ни в один раздел.
Как выбрать хороший хостинг для своего сайта?
Выбрать хороший хостинг для своего сайта достаточно сложная задача. Особенно сейчас, когда на рынке услуг хостинга действует несколько сотен игроков с очень привлекательными предложениями. Хорошим вариантом является лидер рейтинга Хостинг Ниндзя — Макхост.
Автор/переводчик: Сергей Фастунов
Сложность:
Создан: 15 Апреля 2020 Просмотров: 10491 Комментариев: 0
Как разместить свой сайт на хостинге? Правильно выбранный хороший хостинг — это будущее Ваших сайтов
Проект готов, Все проверено на локальном сервере OpenServer и можно переносить сайт на хостинг. Вот только какую компанию выбрать? Предлагаю рассмотреть хостинг fornex.com. Отличное место для твоего проекта с перспективами бурного роста.
Автор/переводчик: Сергей Фастунов
Сложность:
Создан: 23 Ноября 2018 Просмотров: 18045 Комментариев: 0
Разработка веб-сайтов с помощью онлайн платформы Wrike
Создание вебсайта — процесс трудоёмкий, требующий слаженного взаимодействия между заказчиком и исполнителем, а также между всеми членами коллектива, вовлечёнными в проект. И в этом очень хорошее подспорье окажет онлайн платформа Wrike.
Автор/переводчик: Сергей Фастунов
Сложность:
Создан: 27 Июня 2018 Просмотров: 17909 Комментариев: 0
20 ресурсов для прототипирования
Подборка из нескольких десятков ресурсов для создания мокапов и прототипов.
Автор/переводчик: Станислав Протасевич
Сложность:
Создан: 2 Июня 2017 Просмотров: 13646 Комментариев: 0
Топ 10 бесплатных хостингов
Небольшая подборка провайдеров бесплатного хостинга с подробным описанием.
Автор/переводчик: Станислав Протасевич
Сложность:
Создан: 31 Мая 2017 Просмотров: 119196 Комментариев: 0
Быстрая заметка: массовый UPDATE в MySQL
Ни для кого не секрет как в MySQL реализовать массовый INSERT, а вот с UPDATE-ом могут возникнуть сложности. Чтобы не прибегать к манипуляциям события ON_DUPLICATE можно воспользоваться специальной конструкцией CASE … WHEN … THEN.
Автор/переводчик: Станислав Протасевич
Сложность:
Создан: 28 Апреля 2017 Просмотров: 10421 Комментариев: 0
Распознавание текста из изображений через командную строку
Для человека не составляет особого труда посмотреть на изображение и прочитать представленный текст. Для машины данный процесс не так прост. Однако с помощью imgclip вы сможете быстро выполнить данную операцию.
Источник: ruseller.com