Ответы:
Реактор - это часть Maven, которая позволяет ему выполнять цель для набора модулей. Как упоминалось в документации Maven 1.x о многомодульных сборках (концепция реактора уже присутствовала в Maven 1.x), хотя модули являются дискретными единицами работы, их можно собрать вместе с помощью реактора для их одновременной сборки и:
Реактор определяет правильный порядок сборки из зависимостей, указанных каждым проектом в соответствующих дескрипторах проекта, и затем выполняет заявленный набор целей. Его можно использовать как для строительных проектов, так и для других целей, таких как создание сайта.
Как объяснялось, реактор - это то, что делает возможными многомодульные сборки: он вычисляет ориентированный граф зависимостей между модулями, извлекает порядок сборки из этого графа (поэтому циклические зависимости запрещены, что в любом случае хорошо), а затем выполняет задачи на модули. Другими словами, « сборка из нескольких модулей » - это « сборка реактора », а « сборка реактора » - это « сборка из нескольких модулей ».
В Maven 2.x поддержка многомодульных сборок была значительно улучшена, и реактор стал прозрачным для пользователей Maven. Но он все еще там и используется под капотом.
В сентябре 2008 года (то есть спустя много времени после развертывания Maven 2) был создан плагин реактора , чтобы сделать возможным (снова) более тесно взаимодействовать с реактором Maven. Бретт Портер написал об этом в своем блоге Reactor: My New Favorite Maven Plugin .
Большинство функций плагина реактора теперь изначально поддерживаются (начиная с Maven 2.1.0). См. Советы и приемы Maven: Дополнительные параметры реактора .
Reactor используется, когда в проекте много модулей.
Работа, выполняемая реактором:
Начиная с версии 2.1, появились новые параметры командной строки, которые позволяют вам управлять способом, которым 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