0

我有带有模块的 Maven 项目module1module2等等module3。我在父级的 pom.xml 中定义了这些模块,看起来像

  <modules>
    <module>module1</module>
    <module>module2</module>
    <module>module3</module>
        .
        .
    <module>module56</module>
  </modules>

默认情况下,“maven-reactor”通过应用使用多个模块指南中描述的规则对模块 进行排序,但是,我不想使用 maven 对模块进行排序,而是使用我在父 pom.xml 中提供的顺序。

4

2 回答 2

1

您已经发布了官方参考资料,告诉您这是不可能的,您只能通过命令行参数影响反应器设置(这并不意味着您可以实际控制反应器概念本身)。

没有任何测试,但仅通过命令行选项的描述http://books.sonatype.com/mvnref-book/reference/running-sect-options.html我会告诉它根本不可能。您可以通过使用-rMaven 项目后面的参数来忽略模块定义(已经不是您想要的),但这不会影响反应器生成的(逻辑上有意义的)构建顺序。

在我看来,这也毫无意义,因为生成的构建顺序正是大多数人使用 Maven 的原因——或者至少是“应用程序依赖管理”上下文中一个非常重要的关键特性)。从 Maven 的角度来看,我会调整我的构建以使用 Maven,而不是尝试调整 Maven 以满足您的要求(也许 Maven 也只是您设置的错误构建工具)。

于 2015-03-12T09:58:16.060 回答
1

如果您想自己对模块的顺序进行排序,那么您不了解此排序的关键概念。

排序是基于模块之间的依赖关系完成的,这意味着一个模块需要在另一个将其用作依赖关系的模块之前构建。

你想手动做一些你不应该做的事情。让工具为您完成工作。

于 2015-03-12T11:22:20.250 回答