2010-01-12 7 views
78

Ich habe über Maven Reaktor zu lesen und bin von seiner Terminologie Nutzung 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?Was ist der "Reaktor" in Maven?

Antwort

136

Der Reaktor ist der Teil von Maven dass es ein Ziel auf einem Satz von Modulen auszuführen ermöglicht. Wie in der 1.x Maven erwähnt documentation on multi-modules builds (das Reaktorkonzept war schon da in Maven 1.x), während Module diskrete Einheit der Arbeit ist, können sie zusammen in den Reaktor gesammelt werden, sie zu bauen gleichzeitig und:

der Reaktor bestimmt die korrekte 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 sowohl für Bauprojekte als auch für andere Ziele verwendet werden, z. B. für die Erstellung von Websites.

Wie erläutert wird, der Reaktor ist, was macht Multi-Modul baut möglich: es berechnet die Graphen der Abhängigkeiten zwischen den Modulen, leitet die Build-Reihenfolge aus dieser graphischen Darstellung (deshalb zyklische Abhängigkeiten nicht zugelassen werden, die ohnehin gute Sache ist,) und führt dann Ziele auf den Modulen aus. In anderen Worten, ein "multi-Module bauen" ist ein "Reaktor build" und ein "Reaktor build" ist ein "Multimodulen aufbauen".

In Maven 2.x, baut sich der Träger von mehreren Modulen sehr stark verbessert wurde und der Reaktor auf Maven Benutzer transparent geworden ist. Aber es ist immer noch da und wird unter der Haube verwendet.

Im September 2008 (d. H. Lange nach dem Rollout von Maven 2) wurde ein reactor plugin geschaffen, um es zu ermöglichen, (wieder) enger mit dem Maven-Reaktor zu interagieren. Brett Porter hat darüber in Reactor: My New Favourite Maven Plugin gebloggt.

Die meisten der Reaktor-Plugin-Funktionen werden nun unterstützt nativ (seit Maven 2.1.0). Siehe Maven Tips and Tricks: Advanced Reactor Options.

+9

Warum hat die Maven-Website sagt, dass dieses Plugin "im Ruhestand"? –

+2

Da das Reaktor-Plugin ein Plugin ist, das (nur) mit dem eigentlichen Reaktor "spricht". Also nicht der Reaktor selber ist im Ruhestand, sondern ein dazugehöriges Plugin. – Lonzak

2

Reactor ist verwendet, wenn ein Projekt mit mehreren Modulen haben.

Die von Reaktor getan Werke sind:

  • die Modul Details Sammeln
  • die Reihenfolge basierend Sortierung auf Abhängigkeiten
  • die Projekte, um mit dem 2.1-Release Maven

Start Baut Es gibt neue Maven-Befehlszeilenoptionen, mit denen Sie die Art und Weise manipulieren 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 

source

Verwandte Themen