当我们的项目越来越大之后,主项目下的子模块(module)也越来越多,执行mvn clean install
时速度也越来越慢。
那么,我们仅仅想编译其中的一个模块以加快构建速度,该如何操作呢?
答案是使用mvn clean install --projects sub_module1,sub_module2
。
即通过使用--projects
参数(也可缩写成-pl
),指定你想编译的模块。
接下来的问题是,我想编译一个子模块“sub_module”时,需要它所依赖的其他模块也一并构建,那么该如何操作呢?普通的解法是人工识别出它的依赖,一个一个加到--projects
后的参数中去。
其实,Maven已经提供了相应的功能,就是加入--also-make
参数(也缩写成-am
),在指定了projects后,自动构建其依赖的模块。
因此,完整的答案是mvn clean install --projects sub_module -am
。
再说个另外的场景,我有一个公共的模块,想编译时也一并编译依赖它的模块,那么就该加上--also-make-dependents
(可缩写为-amd
)即可。
具体的例子就不举了,各位可自行尝试。