IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  Технология Java | Open source  >

Введение в Apache Maven 2

developerWorks
На предыдущую страницуСтраница 5 из 16 На предыдущую страницу

Опции документа

Исходные тексты примера


Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


Жизненный цикл Maven 2. Фазы, плагины и амулеты.

Maven выполняет большинство задач построения посредством работы плагинов. Движок Maven можно сравнить с дирижером действий плагинов.

Амулеты в плагинах

Плагины - это программные модули, написанные таким образом, чтобы четко вписываться в структуру Maven. В настоящее время, пользовательские плагины создаются на основе Java, Ant или Beanshell. Каждая задача внутри плагина называется амулетом. Иногда плагины рассматриваются как набор амулетов. В настоящем руководстве мы не будем рассматривать способы построения плагинов для Maven 2. См. раздел Ресурсы для получения дополнительной информации.

Maven 2 поставляется готовым для загрузки и работы с множеством часто используемых плагинов. Наиболее типичные задачи разработки не требуют использования дополнительных плагинов.

Перед тем как решить написать свой собственный плагин, сначала просмотрите несколько наиболее популярных сайтов со списками плагинов к Maven 2 (см. Ресурсы) для того, чтобы убедиться, что нужного вам плагина нет. На Рисунке 5 изображена таблица плагинов Maven (см. Ресурсы), в которой приведена информация по совместимости для множества доступных плагинов:


Рисунок 5. Таблица плагинов Maven
Таблица плагинов Maven


В начало


Привязка амулетов к фазам жизненных циклов

Амулет (задача построения) выполняется внутри плагина, когда движок Maven выполняет соответствующую фазу при построении жизненного цикла. Связь между амулетом плагина и фазой жизненного цикла называется привязкой. Разработчики плагина могут гибко связать одну или несколько фаз жизненного цикла с плагином.



В начало


Фазы жизненного цикла по умолчанию

Встроенная интерпретация фаз жизненнго цикла в Maven состоит из множества отдельных фаз. В Таблица 1 приведено краткое описание каждой фазы:


Таблица 1. Фазы жизненного цикла Maven 2 по умолчанию
Фаза жизненного циклаОписание
Проверка достоверности или валидация (validate)Гарантирует полноценность текущей конфигурации и содержания POM. Включает в себя проверку файлов дерева pom.xml.
Инициализация (initialize)Возможность выполнить любую инициализацию до выполнения основных задач в цикле создания.
Создание исходников (generate-sources)Возможность для генераторов кода создать исходный код, исполняемый или компилируемый в последующих фазах.
Обработка исходников (process-sources) Предназначена для анализа, модификации и трансформации исходного кода. Здесь могут быть обработаны, как обычный код, так и сгенерированный.
Создание ресурсов (generate-resources)Возможность создания ресурсов, не заявленных в исходном коде. Обычно сюда включают файлы метаданных и конфигурации.
Обработка ресурсов (process-resources)Управляет обработкой ресурсов, незаявленных в исходном коде. В ходе выполнения этой фазы возможна модификация, трансформация и перераспределение ресурсов.
Компиляция (compile)Компилирует исходный код. Скомпилированные классы перемещают в дерево целевого каталога.
Обработка классов (process-classes)Выполняет любые шаги по трансформации и модернизации файла класса. В ходе выполнения этой фазы часто работают средства выработки байт-кода и инструментальные средства.
Создание тестовых исходников (generate-test-sources)Время для работы амулетов, генерирующих код тестовых модулей.
Обработка тестовых исходников (process-test-sources)Выполняет необходимую обработку тестового кода перед компиляцией. В ходе этой фазы исходный код может быть изменен, преобразован или скопирован.
Создание тестовых ресурсов (generate-test-resources)Позволяет создать ресурсы, относящиеся к тестированию (не входящие в исходный код).
Обработка тестовых ресурсов (process-test-resources)Обеспечивает обработку, трансформацию и перераспределение ресурсов, относящихся к тестированию.
Компиляция теста (test-compile)Компилирует исходный код модульных тестов.
Тестирование (test)Запуск скомпилированного теста и формирование результатов.
Упаковка (package)Упаковывает исполняемый двоичный код в дистрибутивный архив, например JAR или WAR.
Прединтеграционный тест (pre-integration-test)Подготовка к интеграционному тестированию. Интеграционное тестирование относится, в этом случае, к тестированию кода (контролируемой копии) в фактической среде развертывания. На этом шаге может произойти развертывание архива на сервере для последующего исполнения.
Интеграционный тест (integration-test)Выполнение фактических интеграционных тестов.
Постинтеграционный тест (post-integration-test)Делает откат после интеграционного теста. Это может повлечь за собой сброс или повторную инициализацию тестирующей среды.
Подтверждение (verify)Подтверждение правильности и целостности развертываемого архива. После этой фазы происходит установка архива.
Установка (install)Добавляет архив в локальный каталог Maven. За счет этого к нему обеспечивается доступ всем другим модулям, связанным с данным.
Развертывание (deploy)Добавляет архив в удаленные каталоги Maven. Это делает артефакт доступным для большой аудитории.

Maven собрал более чем десятилетний опыт управления проектами с открытым исходным кодом. Едва ли вы найдете проект ПО, жизненый цикл которого не был бы описан Таблицей 1.

Когда вы запускаете движок Maven 2, он последовательно проходит все стадии Таблицы 1 и выполняет все амулеты, привязанные к определенной фазе. Каждый амулет при выполнении своего задания в порядке очереди использует такие возможности Maven 2, как полная поддержка POM, управление связями и доступ к информации о завершенности проекта.

Когда вы запускаете движок Maven 2, то можете указать фазу жизненного цикла как аргумент в командной строке. Движок будет последовательно работать во всех фазах, включая заданную вами фазу и до неё. Все амулеты во включенных вами фазах будут выполнены.

Итак, мы вкратце описали, как работает Maven 2. Вы ознакомитесь с его работой непосредственно в следующей главе. Имея предварительное представление о работе Maven, его моделях управления связями и его POM, вы увидите, что практическая работа с Maven 2 - это простое упражнение.



В начало



На предыдущую страницуСтраница 5 из 16 На предыдущую страницу
    IBM в России Конфиденциальность Контакты