He estado leyendo sobre el reactor Maven y estoy confundido por su uso de terminología. He leído que un módulo múltiple es un reactor, que puedes manipular el reactor maven y que el reactor es un complemento. ¿Qué es exactamente el reactor?
He estado leyendo sobre el reactor Maven y estoy confundido por su uso de terminología. He leído que un módulo múltiple es un reactor, que puedes manipular el reactor maven y que el reactor es un complemento. ¿Qué es exactamente el reactor?
Respuestas:
El reactor es la parte de Maven que le permite ejecutar un objetivo en un conjunto de módulos. Como se menciona en la documentación de Maven 1.x sobre compilaciones de múltiples módulos (el concepto de reactor ya estaba allí en Maven 1.x), mientras que los módulos son unidades de trabajo discretas, pueden reunirse usando el reactor para construirlos simultáneamente y:
El reactor determina el orden de construcción correcto a partir de las dependencias indicadas por cada proyecto en sus descriptores de proyecto respectivos, y luego ejecutará un conjunto de objetivos establecidos. Se puede utilizar tanto para proyectos de construcción como para otros objetivos, como la generación de sitios.
Como se explicó, el reactor es lo que hace posibles las compilaciones de múltiples módulos: calcula el gráfico dirigido de dependencias entre módulos, deriva el orden de compilación de este gráfico (es por eso que las dependencias cíclicas no están permitidas, lo cual es bueno de todos modos) y luego ejecuta los objetivos en los módulos. En otras palabras, una " construcción de múltiples módulos " es una " construcción de reactor " y una " construcción de reactor " es una " construcción de múltiples módulos ".
En Maven 2.x, la compatibilidad con compilaciones de varios módulos se ha mejorado mucho y el reactor se ha vuelto transparente para los usuarios de Maven. Pero todavía está allí y se usa debajo del capó.
En septiembre de 2008 (es decir, mucho tiempo después del lanzamiento de Maven 2), se creó un complemento de reactor para que sea posible interactuar (nuevamente) más estrechamente con el reactor de Maven. Brett Porter escribió en su blog sobre esto en Reactor: My New Favorite Maven Plugin .
La mayoría de las funciones del complemento de reactor ahora son compatibles de forma nativa (desde Maven 2.1.0). Consulte Consejos y trucos de Maven: Opciones avanzadas de Reactor .
Reactor se utiliza cuando un proyecto tiene varios módulos.
El trabajo realizado por reactor es:
A partir de la versión 2.1, hay nuevas opciones de línea de comando que le permiten manipular la forma en que Maven construirá proyectos de varios módulos. Estas nuevas opciones son:
-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