如何通过Maven构建参数构建子模块的子模块

zjf*_*fdu 6 java maven

这是我的项目结构:

 ??? module_1
     ??? sub_module
          ??? module_11
          ??? module_12
          ??? module_13
 ??? module_2
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用以下命令构建它:

$~ mvn package -pl sub_module
Run Code Online (Sandbox Code Playgroud)

它只会构建sub_module而不是其子模块。

唯一的构建方法module_11/module_12/module_13是显式指定它们,如下所示:

$~ mvn package -pl sub_module,sub_module/module_11,sub_module/module_12,sub_module/module_13
Run Code Online (Sandbox Code Playgroud)

这对我来说很不方便,只是想知道是否有更简单的方法来解决这个问题?

Von*_*onC 6

检查添加-am-amd选项是否有帮助

mvn clean package -pl sub_module -am
mvn clean package -pl sub_module -amd  <== (confirmed by the OP)
Run Code Online (Sandbox Code Playgroud)

看这里

-am, --also-make
Run Code Online (Sandbox Code Playgroud)

如果指定了项目列表,则还要构建列表所需的项目

-amd, --also-make-dependents
Run Code Online (Sandbox Code Playgroud)

如果指定了项目列表,则还要构建依赖于列表中项目的项目

  • 虽然它对我有用,但它并不完美。--amd 也会建立依赖于这个sub_module 的其他项目,但我想要的是建立这个sub_module 下的所有子模块 (2认同)