本文适用于大项目中有多数依赖模块的场景,不相互依赖的场景指定模块 pom.xml 构建即可。
maven 项目子项目多,构建时间长,每次构建时,进入项目目录执行 mvn clean intall
,即使在CICD脚本中也是如此。
构建时,每次只进行了一次小小的改动,也只发版其中一个子模块,就要将整个所有项目全部构建一遍,相当的耗费时间。为了节省构建时长,同时也为了减轻一些不必要的资源浪费,最好是可以进行子模块的单独构建。
在这里介绍 3 个单独构建子模块的 mvn 命令选项
选项 | 描述 |
---|---|
-pl,–projects | 指定子模块构建 |
-am,–alse-make | 构建指定模块和它的所有依赖 |
-amd,–also-make-dependents | 构建指定模块,同时构建依赖指定模块的模块 |
项目目录结构
父项目0
├── pom.xml
├── 子模块1
| └── pom.xml
└── 子模块12
└── pom.xml
在父项目目录执行命令,构建子模块1以及所有依赖
mvn clean install -pl 子模块1 -am
在父项目目录执行命令,构建子模块1,以及依赖子模块1的其他模块
mvn clean install -pl 子模块1 -am -amd
同时构建多个子模块
mvn clean install -pl 子模块1 -pl 子模块2 -am