目录
-
- 一、背景
- 二、解决方案
- 三、补充
-
- 3.1 提出疑问
- 3.2 解答
一、背景
在
但是当项目运行一段时间后,项目中的代码量会变得很多,每个模块的打包时间也会越来越长,将所有模块进行打包的方法已经不再可取,那么 如何才能在打包的时候只将所需的模块及其依赖的模块进行打包呢?
二、解决方案
我们使用
-pl 参数:或--projects ,指定了要构建的模块列表,Maven 将仅对这些指定的模块进行构建(多个用英文逗号分隔);-am 参数:或--also-make ,表示如果目标模块依赖于其他模块,那么在构建目标模块之前,Maven 会先构建所有直接依赖于目标模块的子模块。
注意:
-am 并不会递归地构建所有简介依赖的模块,之构建直接依赖于目标模块的子模块。
命令示例:
mvn clean package -am -pl com.demo:springboot-demo
三、补充
3.1 提出疑问
看完上面这种方式,可能会有这样一个疑问:Maven 打包的时候不应该是先从本地仓库拉取么?我这里使用
3.2 解答
通过
因为,当所有的直接依赖模块都成功构建完成后,Maven 会对目标模块执行打包操作(如 jar、war 等),并 将直接依赖模块的输出结果作为当前模块的依赖库进行引用和打包。
整理完毕,完结撒花~ ??