Maven中的“reactor”是什么?

我一直在阅读关于Maven反应堆的内容,并对其术语用法感到困惑。 我已经阅读了一个多模块是一个反应堆,你可以操纵Maven反应堆,而反应堆是一个插件。 什么是反应堆?

反应器是Maven的一部分,它允许它在一组模块上执行一个目标。 正如Maven 1.x 有关多模块构build的文档 (Maven 1.x中已经存在的反应器概念)中所述,模块是独立的工作单元,可以使用反应器将它们同时收集在一起,并且:

反应堆根据各个项目在其各自的项目描述符中陈述的依赖性确定正确的构build顺序,然后执行一组陈述的目标。 它可以用于build设项目和其他目标,如网站生成。

正如所解释的那样,反应器是使多模块构build成为可能的原因:它计算模块之间的依赖关系的有向图,从图中导出构build顺序(这就是为什么循环依赖不被允许,这是好事),然后执行目标模块。 换句话说,“ 多模块构build ”是“ 反应堆构build ”,“ 反应堆构build ”是“ 多模块构build ”。

在Maven 2.x中,多模块构build的支持已经得到了很大的改善,反应器对Maven用户来说已经变得透明了。 但它仍然存在,并在引擎盖下使用。

在2008年9月(也就是Maven 2推出之后的很长一段时间),已经创build了一个反应器插件 ,以便与Maven反应器进行更紧密的交互(再次)。 Brett Porter在Reactor:My New Favorite Maven Plugin中发表了博客。

现在,大多数反应器插件function现在都支持(自Maven 2.1.0以来)。 请参阅Maven提示和技巧:高级反应堆选项 。