Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Работа Java-программистом: что нужно уметь, кроме Java - выпуск 7


Информационный Канал Subscribe.Ru

Добрый день,

Сначала – извинения подписчикам. Посылаю голову пеплом, каюсь и т.д. и т.п. - НУ НИКАК не добраться было до выпуска рассылки. Отчасти из-за причин объективных (командировка, потом много работы, потом некоторые личные вопросы), но в основном конечно из-за лени и неумения следовать собственным планам :(

Впредь расчитываю делать выпуски так же регулярно, примерно раз в неделю. Тем более, что нас стало 1665 человек! Огромный прирост, причём я нигде не проводил никакой раскрутки этой рассылки.


Ответы на письма

Как ни странно, но очень много вопросов приходят не по теме выпусков. Люди задают вполне конкретные вопросы “а почему у меня не работает...”, относящиеся к их проектам. Конечно, я по мере возможностей стараюсь отвечать. Но хотелось бы сузить этот круг до рамок тем, затрагиваемых в рассылке. Тут уже не по причине лени, а для сокращения потока почты...


Сегодня тема у нас такая:

Системы сборки. Ant. Пример на основе example_1 из этого выпуска. Почему я не начал с изучения какой-нибудь среды разработки (IDE)?”

IDE

Всё это время я намеренно не касался темы GUI приложений для работы c Java. Их существует множество, среди них масса полезейших и необходимых (NetBeans, Eclipse, Together, и прочее и прочее). Но если понимать, как писать “руками” с использованием любого редактора текстов и командной строки, то в дальнейшем будет намного проще понять прелести оболочек. Которые мы конечно же рассмотрим в следующих выпусках.


Рассматриваемый далее Ant тоже работает из командной строки. При этом он замечательно интегрирован в те же NetBeans и WebSphere и в IDEA, да и везде наверное где только можно. Поймём как его запустить “руками”, поймем и как это сделать из-под любой среды разработки.


Системы сборки. Ant

Ant – это одно из средств автоматизации процесса сборки. Ant наверное наиболее широко распространён в мире Java-разработки, и очень хорошо документирован. Живёт он тут: http://ant.apache.org/

Что именно нужно автоматизировать в сборке проекта? Несколько примеров.

  1. Можно при повторной компиляции своего проекта компилировать только те файлы, которые были изменены, а не все.

  2. Можно “за раз” сделать несколько jar'ов, скомпилировав несколько пакетов, хранящихся в разных местах, и поместить эти jar'ы в war вместе с jsp/html файлами

  3. До или после компиляции можно выполнять произвольные действия, например, копировать файлы, делать jar, war, ear архивы

  4. И т.д.


То есть вместо кучи действий по развёртыванию проекта просто один раз описываем процесс сборки в специальном XML файле, и в дальнейшем избавляемся от кучи головной боли. Обычно этот файл (чаще всего называется build.xml) кладут вместе с исходными кодами проекта. Когда вы передаёте проект заказчику, он может на своей машине самостоятельно пересобрать его. И вам для этого не нужно писать страницу инструкций типа “собери пакет X, сделай jar, скопируй его в директорию Y, скомпилируй директорию Y, результат помести в другой jar, всё это вместе с драйвером Оракла oracle.jar помести в третье место, добавь web директорию с jsp/html, файл web.xml, собери war и готово”. Вместо такой сложной цепочки действий будет достаточно в проектной директории выполнить команду ant, и всё соберётся автоматически (если вы не ошиблись в написании build.xml, хех :))


Читаем документацию и проникаемся количеством возможных действий, совершаемых ant. Потом проникаемся простотой написания файлов сборки.

Перед тем, как перейти к выполнению примера, всё-таки настоятельно прошу просмотреть хотя бы оглавление документации и введение, так будет понятнее.


Рассмотрим прелести анта на примере example_1 из прошлого выпуска. Я поместил архив с примером тут: http://www.avilov.sp.ru/maksim/examples/

Скачайте, распакуйте и посмотрите:

  1. изменилась структура директориев

  2. Появился web.xml

  3. Появился build.xml

  4. Появился readme.txt


находясь в проектной директории, наберите ant. Убедитесь, что собрался файл с расширением ear. Убедитесь, что этот ear понимается tomcat'ом.

Попробуйте другие цели (targets), такие как ant clean и ant build.

Как вы думаете, заработает?


В следующем выпуске:

Разбор полётов и продолжение улучшательства нашего примера. Возможно, добавится что-то новенькое...


Максим Авилов, mavilov@hotmail.com


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.employment
Отписаться

В избранное