【问题标题】:How to build sub module with child modules of maven project如何用maven项目的子模块构建子模块
【发布时间】:2018-02-09 02:08:22
【问题描述】:

这是我的项目结构。

 ├── module_1
          ├── module_11
          ├── module_12
          ├── module_13
 ├── module_2
 ├── module_3

现在我想要的是构建 sub_module 的所有子模块。我有以下3种方法。

  1. 明确指定这些模块。当我在 sub_module 下有很多子模块时,这不方便

    mvn package -pl module_1/module_11,module_1/module_12,module_1/module_13

  2. 使用 -amd。这种方式的问题是依赖于module_1的所有模块也会被构建,但我只想在module_1下构建子模块。

    mvn clean package -pl module_1 -amd

  3. 使用-f。这种方法的问题是我无法将 module_1 与其他模块一起构建。例如如何将 module_1 和 module_2 一起构建。

    mvn clean package -f module_1

我想要的是类似下面的东西,这样它就可以在 module_1 和 module_2 下构建所有子模块。

mvn clean package -pl module_1,module_2

【问题讨论】:

    标签: maven


    【解决方案1】:

    有什么原因不能在子模块的 pom.xml 上直接使用mvn clean package。 (除非这里有一些我不知道的高级东西,否则这是最简单的解决方案。)。

    对于您的第 3 点,我将创建另一个聚合器 pom,其中包括 sub_module 和 module_2,并在这个新创建的聚合器上使用 mvn package。 (这不是一个好习惯,每次你想要不同的子模块对时,你都必须创建新的聚合器)

    【讨论】:

    • 只是更新帖子,我想要的是一个maven构建命令来构建module_1和module_2下的所有子模块
    • @zjffdu 您是否尝试过 -am 开关而不是 -amd 开关。 -am 表示also-make,-amd 表示also-make-dependents(这会导致像您在问题中提到的那样构建依赖项目)。如果您的构建模块列表不经常更改,您可以尝试答案中提到的聚合器方法。还要检查这个页面它包含很好的信息blog.sonatype.com/2009/10/…
    猜你喜欢
    • 2019-07-11
    • 1970-01-01
    • 2011-07-24
    • 2015-02-25
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    相关资源
    最近更新 更多