Что такое "реактор" в Maven? - PullRequest
91 голосов
/ 12 января 2010

Я читал о реакторе Maven и меня смущает использование его терминологии. Я читал, что мультимодуль - это реактор, которым вы можете манипулировать реактором Maven, и что реактор является плагином. Что конкретно представляет собой реактор?

Ответы [ 2 ]

147 голосов
/ 12 января 2010

Реактор является частью Maven, которая позволяет ему выполнить цель на наборе модулей. Как упоминалось в документации Maven 1.x о сборках с несколькими модулями (концепция реактора уже существовала в Maven 1.x), в то время как модули являются дискретной единицей работы, их можно собрать вместе используя реактор, чтобы построить их одновременно и:

Реактор определяет правильный порядок сборки по зависимостям, указанным каждым проектом в соответствующих дескрипторах проекта, и затем выполняет заданный набор целей. Его можно использовать как для строительных проектов, так и для других целей, таких как создание сайта.

Как объяснено, реактор - это то, что делает возможной многомодульную сборку: он вычисляет направленный граф зависимостей между модулями, извлекает порядок сборки из этого графа (поэтому циклические зависимости запрещены, что в любом случае хорошо), а затем выполняет цели на модулях. Другими словами, « мультимодульная сборка » представляет собой « реакторная сборка », а « реакторная сборка » представляет собой « многомодульная» построить ».

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

В сентябре 2008 года (то есть спустя долгое время после развертывания Maven 2) был создан плагин для реактора , позволяющий (снова) более тесно взаимодействовать с реактором Maven. Об этом Бретт Портер написал в Reactor: Мой новый любимый плагин Maven .

Большинство функций плагина реактора теперь поддерживаются изначально (начиная с Maven 2.1.0). См. Советы и хитрости Maven: Дополнительные параметры Reactor .

6 голосов
/ 19 января 2018

Reactor используется, когда проект имеет мультимодуль.

Работы, выполненные реактором:

  • Сбор информации о модуле
  • Сортировка заказа по зависимостям
  • Строит проекты по порядку

Начиная с выпуска 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  

источник

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