代码之家  ›  专栏  ›  技术社区  ›  harschware

马文的“反应堆”是什么?

  •  84
  • harschware  · 技术社区  · 15 年前

    我一直在读Maven反应堆,对它的术语用法感到困惑。我已经读过A多模块是一个反应堆,你可以操作Maven反应堆,反应堆是一个插件。反应堆到底是什么?

    2 回复  |  直到 7 年前
        1
  •  141
  •   user152468 Benjas    10 年前

    反应器是Maven的一部分,它允许它在一组模块上执行一个目标。如Maven 1.x所述 documentation on multi-modules builds (反应堆概念已经在Maven1.x中出现),而模块 离散的工作单元,它们可以通过反应器聚集在一起,同时建造它们。 还有:

    反应器根据每个项目在其各自的项目描述符中声明的依赖关系确定正确的构建顺序,然后执行一组指定的目标。它可以用于建筑项目和其他目标,例如站点生成。

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

    在Maven2.x中,多模块构建的支持已经得到了很大的改进,并且反应器对Maven用户已经变得透明。但它仍然在那里,在引擎盖下使用。

    2008年9月(即Maven 2上市后很长一段时间),A reactor plugin 已经被创造出来,使它能够(再次)与马文反应堆更紧密地相互作用。布雷特·波特在博客中写道 Reactor: My New Favourite Maven Plugin .

    现在大多数reactor插件功能都是本地支持的(自Maven2.1.0以来)。见 Maven Tips and Tricks: Advanced Reactor Options .

        2
  •  4
  •   Premraj    7 年前

    当一个项目有多个模块时,使用反应器。

    反应堆的工作包括:

    • 收集模块详细信息
    • 根据依赖项排序顺序
    • 按顺序构建项目

    从Maven2.1版本开始,有一些新的Maven命令行选项允许您操纵Maven构建多模块项目的方式。这些新选项包括:

    -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  
    

    source

    推荐文章