这是我的项目结构:
├── 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
这对我来说不方便,只是想知道是否有更简单的方法来解决这个问题?
答案 0 :(得分:4)
检查添加-am
或-amd
选项是否有帮助
mvn clean package -pl sub_module -am
mvn clean package -pl sub_module -amd <== (confirmed by the OP)
-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
吼叫,在目录间移动会更加痛苦。