Я читал о реакторе Maven и смущен его использованием терминологии. Я читал, что мультимодуль - это реактор, который вы можете манипулировать реактором maven и что реактор является плагином. Что такое реактор?
Что такое "реактор" в Maven?
Ответ 1
Реактор является частью Maven, что позволяет ему выполнять цель на множестве модулей. Как упоминалось в документации Maven 1.x для сборки нескольких модулей (концепция реактора уже была в Maven 1.x), тогда как модули дискретную единицу работы, они могут быть собраны вместе с использованием реактора для их одновременного создания и:
Реактор определяет правильный порядок сборки из зависимостей, указанных каждым проектом в их соответствующих дескрипторах проекта, и затем выполнит заданный набор целей. Он может использоваться как для строительных проектов, так и для других целей, таких как создание сайта.
Как объяснялось, реактор - это то, что делает возможным создание нескольких модулей: он вычисляет ориентированный график зависимостей между модулями, выводит порядок построения из этого графика (почему циклические зависимости запрещены, что хорошо в любом случае), а затем выполняет задачи по модулям. Другими словами, "сборка с несколькими модулями" представляет собой "сборку реактора", а "сборка реактора" представляет собой "сборку нескольких модулей".
В Maven 2.x поддержка многомодульных сборок была значительно улучшена, и реактор стал прозрачным для пользователей Maven. Но он все еще там и используется под капотом.
В сентябре 2008 года (т.е. через долгое время после развертывания Maven 2) был создан плагин реактора чтобы можно было взаимодействовать (снова) более тесно с реактором Maven. Бретт Портер писал об этом в Реактор: Мой новый любимый плагин Maven.
Большая часть возможностей плагина реактора теперь поддерживается на месте (начиная с Maven 2.1.0). См. Советы и подсказки Maven: расширенные параметры реактора.
Ответ 2
Реактор используется, когда проект имеет мультимодуль.
Работы, выполняемые реактором, заключаются в следующем:
- Сбор сведений о модуле
- Сортировка порядка на основе зависимостей
- Строит проекты в порядке
Начиная с версии Maven 2.1, есть новые параметры командной строки Maven, которые позволяют вам манипулировать тем, как Maven будет строить многомодульные проекты. Эти новые параметры:
-rf, --resume-from
Resume reactor from specified project
-pl, --projects
Build specified reactor projects instead of all projects
-am, --also-make
If project list is specified, also build projects required by the list
-amd, --also-make-dependents
If project list is specified, also build projects that depend on projects on the list