Le réacteur est la partie de Maven qui lui permet d'exécuter un objectif sur un ensemble de modules. Comme mentionné dans la documentation Maven 1.x sur les constructions multi-modules (le concept de réacteur était déjà présent dans Maven 1.x), alors que les modules sont des unités de travail discrètes, ils peuvent être rassemblés en utilisant le réacteur pour les construire simultanément et:
Le réacteur détermine l'ordre de construction correct à partir des dépendances indiquées par chaque projet dans leurs descripteurs de projet respectifs, puis exécutera un ensemble d'objectifs déclarés. Il peut être utilisé à la fois pour des projets de construction et d'autres objectifs, tels que la génération de sites.
Comme expliqué, le réacteur est ce qui rend les constructions multi-modules possibles: il calcule le graphe dirigé des dépendances entre les modules, dérive l'ordre de construction de ce graphe (c'est pourquoi les dépendances cycliques sont interdites, ce qui est une bonne chose de toute façon) et exécute ensuite les objectifs sur les modules. En d'autres termes, une "construction multi-modules " est une " construction de réacteur " et une " construction de réacteur " est une "construction multi-modules ".
Dans Maven 2.x, la prise en charge des constructions multi-modules a été considérablement améliorée et le réacteur est devenu transparent pour les utilisateurs de Maven. Mais il est toujours là et est utilisé sous le capot.
En septembre 2008 (soit longtemps après le déploiement de Maven 2), un plugin réacteur a été créé pour permettre d'interagir (à nouveau) plus étroitement avec le réacteur Maven. Brett Porter en a parlé dans Reactor: My New Favorite Maven Plugin .
La plupart des fonctionnalités du plugin Reactor sont désormais supportées nativement (depuis Maven 2.1.0). Voir Trucs et astuces Maven: Options avancées du réacteur .
Reactor est utilisé lorsqu'un projet comporte plusieurs modules.
Le travail effectué par réacteur est:
À partir de la version 2.1, il existe de nouvelles options de ligne de commande qui vous permettent de manipuler la façon dont Maven construira des projets multi-modules. Ces nouvelles options sont:
la source
la source