Що таке "реактор" у Мейвіні?


105

Я читав про реактор Maven і збентежений його використанням термінології. Я читав, що мультимодуль - це реактор, що ви можете маніпулювати реактором, і що реактор є плагіном. Який саме реактор?

Відповіді:


164

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


10
Чому на сайті maven написано, що цей плагін "відставний"?
Моппарті Равіндранат

4
Тому що плагін реактора - це плагін, який (тільки) "розмовляє" з реальним реактором. Тож не сам реактор вийшов на пенсію, а плагін, пов'язаний з ним.
Лонзак

8

Реактор використовується, коли у проекту є багатомодульні модулі.

Робота реактора:

  • Збір деталей модуля
  • Сортування порядку на основі залежностей
  • Побудова проектів по порядку

Починаючи з версії 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  

джерело

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.