Le réacteur est la partie de Maven qui lui permet d'exécuter un goal sur un ensemble de modules. Comme mentionné dans la documentation de Maven 1.x sur la construction multi-modules (le concept de réacteur était déjà présent dans Maven 1.x), tandis que les modules sont des unités de travail discrètes, ils peuvent être regroupé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 déclarées par chaque projet dans leurs descripteurs de projet respectifs, puis exécute un ensemble déclaré de goals. Il peut être utilisé à la fois pour la construction de projets et pour d'autres goals, tels que la génération de site.
Comme expliqué, le réacteur est ce qui rend possibles les constructions multi-modules : il calcule le graphe dirigé des dépendances entre les modules, dérive l'ordre de construction à partir de ce graphe via un tri topologique (c'est pourquoi les dépendances cycliques sont interdites) puis exécute des goals sur les modules. En d'autres termes, une "construction multi-modules" est une "construction par réacteur" et une "construction par réacteur" est une "construction multi-modules".
Dans Maven 2.x, le support des constructions multi-modules a été grandement amélioré et le réacteur est devenu transparent pour les utilisateurs de Maven. Mais il est toujours là et est utilisé en interne.
En septembre 2008 (c'est-à-dire longtemps après le déploiement de Maven 2), un plugin réacteur a été créé pour rendre possible d'interagir (à nouveau) plus étroitement avec le réacteur Maven. Brett Porter en a parlé dans son blog Reactor: Mon nouveau plugin Maven préféré.
La plupart des fonctionnalités du plugin réacteur sont désormais prises en charge nativement (depuis Maven 2.1.0). Voir Maven Tips and Tricks: Options avancées du réacteur.