Сначала
– извинения подписчикам. Посылаю голову пеплом, каюсь и т.д. и
т.п. - НУ НИКАК не добраться было до выпуска рассылки. Отчасти из-за
причин объективных (командировка, потом много работы, потом некоторые
личные вопросы), но в основном конечно из-за лени и неумения
следовать собственным планам :(
Впредь
расчитываю делать выпуски так же регулярно, примерно раз в неделю.
Тем более, что нас стало 1665 человек! Огромный прирост,
причём я нигде не проводил никакой раскрутки этой рассылки.
Ответы на письма
Как ни странно, но очень много вопросов
приходят не по теме выпусков. Люди задают вполне конкретные вопросы
“а почему у меня не работает...”, относящиеся к их
проектам. Конечно, я по мере возможностей стараюсь отвечать. Но
хотелось бы сузить этот круг до рамок тем, затрагиваемых в рассылке.
Тут уже не по причине лени, а для сокращения потока почты...
Сегодня
тема у нас такая:
“Системы
сборки. Ant. Пример на основе example_1 из этого выпуска. Почему я не
начал с изучения какой-нибудь среды разработки (IDE)?”
IDE
Всё
это время я намеренно не касался темы GUI приложений для работы c
Java. Их существует множество, среди них масса полезейших и
необходимых (NetBeans, Eclipse, Together, и прочее и прочее). Но
если понимать, как писать “руками” с использованием
любого редактора текстов и командной строки, то в дальнейшем будет
намного проще понять прелести оболочек. Которые мы конечно же
рассмотрим в следующих выпусках.
Рассматриваемый
далее Ant тоже работает из командной строки. При этом он
замечательно интегрирован в те же NetBeans и WebSphere и в IDEA, да и
везде наверное где только можно. Поймём как его запустить “руками”,
поймем и как это сделать из-под любой среды разработки.
Системы сборки. Ant
Ant
– это одно из средств автоматизации процесса сборки. Ant
наверное наиболее широко распространён в мире Java-разработки, и
очень хорошо документирован. Живёт он тут: http://ant.apache.org/
Что
именно нужно автоматизировать в сборке проекта? Несколько примеров.
Можно
при повторной компиляции своего проекта компилировать только те
файлы, которые были изменены, а не все.
Можно
“за раз” сделать несколько jar'ов, скомпилировав
несколько пакетов, хранящихся в разных местах, и поместить эти jar'ы
в war вместе с jsp/html файлами
До
или после компиляции можно выполнять произвольные действия,
например, копировать файлы, делать jar, war, ear архивы
И
т.д.
То
есть вместо кучи действий по развёртыванию проекта просто один раз
описываем процесс сборки в специальном XML файле, и в дальнейшем
избавляемся от кучи головной боли. Обычно этот файл (чаще всего
называется build.xml) кладут вместе с исходными кодами проекта.
Когда вы передаёте проект заказчику, он может на своей машине
самостоятельно пересобрать его. И вам для
этого не нужно писать страницу инструкций типа “собери пакет X,
сделай jar, скопируй его в директорию Y, скомпилируй
директорию Y, результат помести в другой jar, всё это вместе с
драйвером Оракла oracle.jar помести в третье место, добавь web
директорию с jsp/html, файл web.xml, собери war и готово”.
Вместо такой сложной цепочки действий будет достаточно в проектной
директории выполнить команду ant, и всё соберётся автоматически (если
вы не ошиблись в написании build.xml, хех :))
Читаем документацию и проникаемся
количеством возможных действий, совершаемых ant. Потом проникаемся
простотой написания файлов сборки.
Перед тем, как перейти к выполнению
примера, всё-таки настоятельно прошу просмотреть хотя бы оглавление
документации и введение, так будет понятнее.