webentwicklung-frage-antwort-db.com.de

Was ist der "Reaktor" in Maven?

Ich habe über den Maven-Reaktor gelesen und bin durch seine Terminologie verwirrt. Ich habe gelesen, dass ein Multi-Modul ein Reaktor ist, dass man den Maven-Reaktor manipulieren kann und dass der Reaktor ein Plugin ist. Was genau ist der Reaktor?

95
harschware

Der Reaktor ist der Teil von Maven, der es ihm ermöglicht, ein Ziel für eine Reihe von Modulen auszuführen. Wie in der Maven 1.x Dokumentation zu Multimodul-Builds (das Reaktorkonzept war bereits in Maven 1.x vorhanden), während Module diskrete Einheiten sind arbeiten, können sie zusammen mit dem Reaktor gesammelt werden, um sie gleichzeitig zu bauen und:

Der Reaktor ermittelt die richtige Erstellungsreihenfolge aus den Abhängigkeiten, die von jedem Projekt in den jeweiligen Projektbeschreibungen angegeben wurden, und führt dann einen festgelegten Satz von Zielen aus. Es kann sowohl für Bauprojekte als auch für andere Ziele wie die Erstellung von Standorten verwendet werden.

Wie bereits erläutert, ermöglicht der Reaktor das Erstellen mehrerer Module: Er berechnet den gerichteten Graphen der Abhängigkeiten zwischen Modulen, leitet die Erstellungsreihenfolge aus diesem Graphen ab (daher werden zyklische Abhängigkeiten nicht zugelassen, was ohnehin gut ist) und führt dann Ziele aus die Module. Mit anderen Worten, ein " Multi-Module-Build " ist ein " Reaktor-Build "und ein" Reaktor bauen "ist ein" Multi-Module bauen ".

In Maven 2.x wurde die Unterstützung von Multimodul-Builds erheblich verbessert und der Reaktor wurde für Maven-Benutzer transparent. Aber es ist immer noch da und wird unter der Haube benutzt.

Im September 2008 (d. H. Lange nach dem Rollout von Maven 2) wurde ein Reaktor-Plugin erstellt, um (wieder) eine engere Interaktion mit dem Maven-Reaktor zu ermöglichen. Brett Porter hat darüber in Reaktor: Mein neues Lieblings-Maven-Plugin gebloggt.

Die meisten Reaktor-Plugin-Funktionen werden jetzt nativ unterstützt (seit Maven 2.1.0). Siehe Tipps und Tricks von Maven: Erweiterte Reaktoroptionen .

151
Pascal Thivent

Reaktor wird verwendet, wenn ein Projekt mehrere Module hat.

Die Arbeiten von Reaktor sind:

  • Sammeln der Moduldetails
  • Sortierung der Reihenfolge nach Abhängigkeiten
  • Baut die Projekte in der richtigen Reihenfolge auf

Ab Maven 2.1 gibt es neue Maven-Befehlszeilenoptionen, mit denen Sie die Art und Weise ändern können, in der Maven Multimodul-Projekte erstellt. 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  

Quelle

6
Premraj