Czytałem o reaktorze Maven i jestem zdezorientowany jego terminologią. Czytałem, że multi-moduł to reaktor, że można manipulować reaktorem maven i że reaktor jest wtyczką. Czym dokładnie jest reaktor?
Czytałem o reaktorze Maven i jestem zdezorientowany jego terminologią. Czytałem, że multi-moduł to reaktor, że można manipulować reaktorem maven i że reaktor jest wtyczką. Czym dokładnie jest reaktor?
Odpowiedzi:
Reaktor jest częścią Mavena, która pozwala mu na wykonanie celu na zestawie modułów. Jak wspomniano w dokumentacji Maven 1.x dotyczącej konstrukcji wielomodułowych (koncepcja reaktora istniała już w Maven 1.x), podczas gdy moduły są dyskretną jednostką pracy, można je zebrać razem za pomocą reaktora do jednoczesnej budowy i:
Reaktor określa prawidłową kolejność kompilacji na podstawie zależności określonych przez każdy projekt w odpowiednich deskryptorach projektu, a następnie wykona określony zestaw celów. Może być używany zarówno do projektów budowlanych, jak i do innych celów, takich jak generowanie witryn.
Jak wyjaśniono, reaktor jest tym, co umożliwia kompilacje wielomodułowe: oblicza ukierunkowany wykres zależności między modułami, wyprowadza kolejność budowania z tego wykresu (dlatego zależności cykliczne są niedozwolone, co i tak jest dobre), a następnie realizuje cele na moduły. Innymi słowy, „ budowa wielomodułowa ” to „ budowa reaktora ”, a „ budowa reaktora ” to „ budowa wielomodułowa ”.
W Maven 2.x obsługa kompilacji wielomodułowych została znacznie ulepszona, a reaktor stał się przejrzysty dla użytkowników Mavena. Ale nadal tam jest i jest używany pod maską.
We wrześniu 2008 r. (Tj. Długo po wprowadzeniu Maven 2), wtyczka reaktora została stworzona, aby umożliwić (ponownie) ściślejszą interakcję z reaktorem Maven. Brett Porter napisał o tym na blogu w Reactor: My New Favorite Maven Plugin .
Większość funkcji wtyczki reaktora jest teraz obsługiwana natywnie (od Maven 2.1.0). Zobacz Porady i wskazówki Maven: Zaawansowane opcje reaktora .
Reaktor jest używany, gdy projekt ma wiele modułów.
Praca wykonana przez reaktor to:
Począwszy od wersji 2.1 dostępne są nowe opcje wiersza poleceń, które pozwalają manipulować sposobem, w jaki Maven będzie budować projekty wielomodułowe. Te nowe opcje to:
-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