Развертывание Ant вместо затмения, чтобы облегчить разработку - PullRequest
1 голос
/ 28 февраля 2011

Я скорее новичок в развертывании java jars.У меня есть следующий сценарий: у меня есть около 6 проектов в Eclipse, и они имеют различные типы (основной проект для общих интерфейсов, проекты, содержащие пакеты osgi, проект с тестами, проект с сервлетами для веб-развертывания).

У меня естьРастущая проблема быстрого развертывания чего-либо, сегодня я сталкиваюсь с развертыванием пакета OSGi, хочу быстро и надежно упаковать свой пакет и развернуть его в контейнер.До этого дня я просто делал это глупо, экспортируя jar через eclipse, а затем редактируя манифест.

Я думаю, что лучшим способом (без лишней работы) было бы использование одного большого файла сборки Ant с целями, которые будут решатьвещи, которые мне нужны срочно (создание пакетов OSGi сейчас), а затем перемещать больше логики сборки, шаг за шагом, из eclipse в файл сборки (я понимаю, что есть простой способ запустить цели ant через eclipse и даже заменить логику autoprojectbuild для eclipse на customфайл сборки).

Итак, это мой план:

1) создать 1 основной файл сборки со всем в каталоге src (содержащий все проекты)

2) создать задачу дляпроект строительства с комплектом OSGi.Используя manifest.txt с манифестом, созданным вручную для моего пакета, и Copy Paste (через задачу ant) ​​все jar-файлы, необходимые в этом пакете, и используйте Bundle-ClassPath для объявления моих зависимостей внутреннего пакета

3), создайте JNnit-тестовые прогоны как пользовательскиецели

4) создать другие цели для создания различных проектов

5) наконец, перед выпуском создать большую цель "dist" для упаковки всего программного обеспечения

Итак, мои 2 вопроса:

Является ли этот мой план хорошим (с точки зрения времени разработки и разумной сложности)?

Есть ли недостатки при использовании 1 большого файла сборки?Я прочитал часть Ant в книге Action, но похоже, что несколько файлов сборки просто вызывают больше сложностей (объявлять зависимости между проектами нелегко. OTH с 1 большим файлом, я могу использовать целевой атрибут target).

Ответы [ 2 ]

2 голосов
/ 28 февраля 2011

Создание сценария сборки / развертывания - это почти всегда хороший шаг. Это просто открывает гораздо больше возможностей для автоматизации не только развертываний, но и тестовых сборок, непрерывной интеграции и т. Д. Лично я бы не стал слишком зацикливаться на попытках получить интеграцию между eclipse (вашей IDE) и инструментом сборки. Если это работает легко, щелкнув что-то в затмении, это здорово, но, вероятно, оно того стоит, чтобы комфортно запускать скрипт из командной строки. Разделение этих двух задач (опыт разработки и жизненный цикл сборки) также откроет больше возможностей, если вы обнаружите, что ant не является подходящим инструментом для вашего проекта, или, возможно, вы даже захотите перейти на другую среду IDE однажды.

1 голос
/ 28 февраля 2011

Звучит как хороший кандидат на Maven, а не на Ant.Все, о чем вы говорите, покрыто архетипами Maven.Это крутой курс обучения, но оно того стоит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...