Відповіді:
Реактор - це та частина Мейвена, яка дозволяє виконувати мету на наборі модулів. Як уже згадувалося в документації 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: Розширені параметри реактора .
Реактор використовується, коли у проекту є багатомодульні модулі.
Робота реактора:
Починаючи з версії 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