Настройка и использование Apache Ant для разработки Java приложений

Владимир | | Eclipse, Java.

Практически все, кто когда-нибудь занимался программированием на Java, слышали о программе под названием Apache Ant. Её используют большинство современных сред разработки, такие как Eclipse, NetBeans и многие другие. Так чем же объясняется такая популярность Ant?

Вступление, или несколько слов о том, зачем это надо

Давайте разбираться по порядку. Ant – это инструмент для работы с проектами, в самом широком смысле. С его помощью можно выполнить компиляцию, отладку и тестирование проекта, создавать новые и удалять существующие файлы и папки, создавать архивы с исходными кодами, и многое другое. Перечень функций, которые поддерживает Ant, занимает несколько страниц, кроме того, вы можете создавать свои собственные функции.

Тут возникает вопрос: «Ну и что, все эти операции можно выполнить и без Ant». Да, можно, но Ant даёт возможность это сделать с помощью всего одной команды. Это не только ускоряет работу, но и страхует от ошибок. При выполнении длинной цепочки действий всегда можно что-нибудь забыть.

Естественно, все эти операции Ant выполняет с помощью дополнительных средств, например, для компиляции проекта у вас должен быть установлен Java SDK (software development kit). Сам по себе, Ant выполняет чтение и анализ специального файла (обычно он называется build.xml), который содержит команды для работы с проектом. Этот файл вы можете создать сами, либо с помощью вашей IDE в ходе разработки проекта.

Как создать такой файл мы рассмотрим чуть позже, а пока разберёмся, какие преимущества нам даёт использование Ant.
Рассмотрим простой пример. Допустим, у нас есть проект, состоящий из одного файла (hello.java) с, наверное, самой популярной в мире программой «Hello, World!».

Наши задачи:
1) скомпилировать программу;
2) запустить её (для проверки работоспособности);
3) создать jar-файл (файл manifest.mf у нас есть);
4) создать архив с исходниками (например, для размещения в Internet).

В классическом варианте (без использования IDE) для первых трех пунктов вы должны выполнить примерно такой набор команд:

javac hello.java
java hello
jar cmf hello.jar manifest.mf hello.class

Четвёртый пункт выполняется с помощью вашего любимого архиватора.

Ясно, что писать эти команды после каждого изменения в проекте быстро надоест, особенно, если ваш проект состоит из десятков или сотен файлов, которые расположены в разных папках.
Конечно, самый простой способ решения этой проблемы – использовать какую-нибудь IDE. В этом случае для выполнения первых трех пунктов будет достаточно нажать одну кнопку.
Но вот четвёртый пункт вам, скорее всего, придётся выполнять вручную. А это потенциальный источник ошибок. Можно легко забыть добавить в архив папку с ресурсами к программе, или с тестами, или ещё с чем-нибудь.
Кроме того, у вас могут быть чужие исходники, например, примеры к документации, которые нужно просто запустить, а не заниматься их импортированием в IDE. Или вы хотите передать кому-нибудь свою программу в виде исходных кодов, а этот человек пользуется другой IDE.

Во всех этих случаях использование Ant значительно облегчит вам жизнь.

Страница: 1 2 3 4

  • Анатолий

    Хорошая статья. респект

    • Пашик

      Хорошие слова. Респект тебе мужик depends=анатолий )

  • Анатолий

    Хорошая статья. респект

    • Пашик

      Хорошие слова. Респект тебе мужик depends=анатолий )

  • kez

    Статья довольно хорошая.
    Нашел небольшую ошибку
    >>myProject/${buildTest} будет преобразовано в myProject/build/classes

    думаю автор имел ввиду:
    myProject/${buildTest} будет преобразовано в myProject/build/tests

    • Большое спасибо, вы абсолютно правы!
      Уже исправил.

  • kez

    Статья довольно хорошая.
    Нашел небольшую ошибку
    >>myProject/${buildTest} будет преобразовано в myProject/build/classes

    думаю автор имел ввиду:
    myProject/${buildTest} будет преобразовано в myProject/build/tests

    • Большое спасибо, вы абсолютно правы!
      Уже исправил.

  • Спасибо за статью и за блог, получилось, ант работает, но вот я не поняла вот это: Создаем файл build.xml, и учимся им пользоваться — в какой папке-то создавать?

    проверить работает ли ант можно таким образом: ввести в командной строке: ant -version, если работает выйдет серия вашего анта.

    • в какой папке-то создавать?

      В принципе, можно где угодно, но удобнее всего в корне проекта. Т.к. тогда удобнее задавать относительные пути к файлам.

      Последнюю фразу я не понял. У вас ant не запустился?

      • надо создавать в самом проекте этот файл?

        запустился, версию показывает, я еще больше ничего не пробовала с ним делать. Это я написала чтоб люди знали как проверить работает ант или нет:)

  • Спасибо за статью и за блог, получилось, ант работает, но вот я не поняла вот это: Создаем файл build.xml, и учимся им пользоваться — в какой папке-то создавать?

    проверить работает ли ант можно таким образом: ввести в командной строке: ant -version, если работает выйдет серия вашего анта.

    • в какой папке-то создавать?

      В принципе, можно где угодно, но удобнее всего в корне проекта. Т.к. тогда удобнее задавать относительные пути к файлам.

      Последнюю фразу я не понял. У вас ant не запустился?

      • надо создавать в самом проекте этот файл?

        запустился, версию показывает, я еще больше ничего не пробовала с ним делать. Это я написала чтоб люди знали как проверить работает ант или нет:)

  • Вадик

    Респект автору нужная статья)))

  • Вадик

    Респект автору нужная статья)))

  • ira

    Спасибо большое за статью! вы отлично пишете! (я знаю, что комментарий бесполезен, но очень хотелось высказать благодарность 🙂 )

  • ira

    Спасибо большое за статью! вы отлично пишете! (я знаю, что комментарий бесполезен, но очень хотелось высказать благодарность 🙂 )

  • Слава

    Автор, спасибо!

  • Skioki

    спасибо!

  • Anastasiya Pilyugina

    Статья отличная, спасибо! http://www.enterra.ru/blog/automation_builds_android_applications/ тоже в тему будет,думаю

  • Сергей

    Спасибо!