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

时间:2018-02-01 05:17:39

标签: java maven

这是我的项目结构:

 ├── module_1
     ├── sub_module
          ├── module_11
          ├── module_12
          ├── module_13
 ├── module_2

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

$~ mvn package -pl sub_module

它只会构建 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

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

2 个答案:

答案 0 :(得分:4)

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

mvn clean package -pl sub_module -am
mvn clean package -pl sub_module -amd  <== (confirmed by the OP)

See here

-am, --also-make
     

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

-amd, --also-make-dependents
     

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

答案 1 :(得分:0)

我有两个可能合适的地方:

使用-f在特定pom文件上运行构建:

$ mvn package -f module_1/submodule

cd进入所需的模块并简单地构建它:

$ pwd
/module_1
$ cd submodule
$ mvn package

吼叫,在目录间移动会更加痛苦。