Qu’est-ce que le “réacteur” à Maven?

J’ai lu sur le réacteur Maven et je suis confus par son utilisation terminologique. J’ai lu que le multi-module est un réacteur, que vous pouvez manipuler le réacteur Maven et que le réacteur est un plugin. Quel est exactement le réacteur?

Le réacteur est la partie de Maven qui lui permet d’exécuter un objective sur un ensemble de modules. Comme mentionné dans la documentation de Maven 1.x sur les constructions multi-modules (le concept de réacteur existait déjà dans Maven 1.x), alors 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 indiquées par chaque projet dans leurs descripteurs de projet respectifs, puis exécute un ensemble d’objectives. Il peut être utilisé à la fois pour des projets de construction et pour d’autres objectives, 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 orienté 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) 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 versions 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 (c’est-à-dire longtemps après le déploiement de Maven 2), un plugin de réacteur a été créé pour permettre une nouvelle interaction avec le réacteur Maven. Brett Porter en a parlé dans Reactor: My New Favorite Maven Plugin .

La plupart des fonctionnalités du plugin du réacteur sont désormais sockets en charge de manière native (depuis Maven 2.1.0). Voir Conseils et astuces Maven: Options avancées du réacteur .

Reactor est utilisé lorsqu’un projet comporte plusieurs modules.

Les travaux effectués par réacteur sont:

  • Collecter les détails du module
  • Trier l’ordre en fonction des dépendances
  • Construit les projets dans l’ordre

À partir de la version Maven 2.1, il existe de nouvelles options de ligne de commande Maven qui vous permettent de manipuler la manière dont Maven va créer des projets multimodules. Ces nouvelles options sont les suivantes:

-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 

la source