Was ist der „Reaktor“ in Maven?
-
20-09-2019 - |
Frage
Ich habe über Maven Reaktor gelesen und bin von seiner Terminologie Nutzung verwirrt. Ich habe das ein Multi-Modul ist ein Reaktor zu lesen, dass Sie den Maven-Reaktor manipulieren können, und dass der Reaktor ein Plugin. Was genau ist der Reaktor?
Lösung
Der Reaktor ist der Teil von Maven, dass es ein Ziel auf einer Reihe von Modulen auszuführen ermöglicht. Wie in der 1.x Maven erwähnt Dokumentation auf Multi-Module baut (das Reaktorkonzept war schon da in Maven 1.x), während Module sind diskrete Einheit der Arbeit, können sie zusammen unter Verwendung des Reaktors gesammelt werden, um sie gleichzeitig zu bauen und
Der Reaktor bestimmt die richtige Build-Reihenfolge aus, die von jedem Projekt in ihren jeweiligen Projektbeschreibung angegebenen Abhängigkeiten und wird dann eine angegebene Reihe von Zielen auszuführen. Es kann für beide Bauvorhaben und andere Ziele, wie Ort-Erzeugung verwendet werden.
Wie bereits erläutert, ist der Reaktor, was macht Multi-Modul baut möglich: es berechnet den Graphen der Abhängigkeiten zwischen den Modulen, leitet die Build-Reihenfolge aus dieser graphischen Darstellung (deshalb zyklischen Abhängigkeiten nicht zugelassen werden, die eine gute Sache ist sowieso) und dann führt Ziele auf den Modulen. Mit anderen Worten, ein " Multi-Module zu bauen " ist ein " Reaktor bauen " und " Reaktor bauen " ist ein „ Multi-Module zu bauen “.
In Maven 2.x baut die Unterstützung von Multi-Modul wurde sehr stark verbessert und der Reaktor wurde Maven Benutzer transparent. Aber es ist immer noch da und ist unter der Haube verwendet wird.
Im September 2008 (also lange nach der Einführung von Maven 2), ein Reaktor-Plugin wurde erstellt, es möglich zu machen (wieder) zu interagieren, enger mit dem Maven Reaktor. Brett Porter darüber gebloggt in Reactor: My New Lieblings Maven Plugin .
Die meisten des Reaktors Plugin-Funktionen werden nun nativ unterstützt (seit Maven 2.1.0). Siehe Maven Tipps und Tricks: Erweiterte Reactor Optionen .
Andere Tipps
Reactor ist verwendet, wenn ein Projekt mit mehreren Modulen haben.
Die Arbeiten von Reaktor durchgeführt werden:
- Das Sammeln der Modul Details
- Sortieren der Reihenfolge basierend auf Abhängigkeiten
- Baut die Projekte, um
Beginnend mit dem Maven 2.1 Release gibt es neue Maven Befehlszeilenoptionen, die Sie erlauben, die Art und Weise zu manipulieren, dass Maven Multimodul-Projekte zu bauen. Diese neuen Optionen sind:
-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