背景
基于SpringCloud 做的微服务项目,很多都是依赖公共模块下的包,并且多模板都是在一个项目下的。
问题
每次打包都很编译整个项目下的所有模块。这样太耗时间了,把流水线的时间拖的太长了。
解决方案
在maven打包时,我们选择指定的模块及依赖的模块进行打包,这样及可以减少打包的时间,也能确保完整性。
bash
mvn clean package -pl ${modulePath} -am -Dmaven.test.skip=true
参数说明:
-pl ${modulePath}
-pl
:表示只构建指定的模块(module)。${modulePath}
是模块的路径,通常是一个相对路径或模块名称。这个参数可以让你只构建特定的模块,而不是整个项目。
-am
-am
:表示"依赖模块一起构建"(Aggregator Module)。如果指定的模块依赖于其他模块,Maven 会自动构建这些依赖模块。通常与 **-pl**
一起使用,确保依赖的模块也被正确构建。
-Dmaven.test.skip=true
-D
:用于传递 Maven 的系统属性。
maven.test.skip=true
:跳过测试阶段,不会执行单元测试或集成测试。