概述
一个多模块化的maven项目,通常是由一个pom类型的父项目及若干个子模块构成的。如下图,

这个项目的名称为api-simulation,其包含了三个子模块,分别为company、gateway及shared。
发布步骤
如果,你想把这个项目发布到自己的私服(使用nexus构建)上去,那么一定要注意,其发布流程。
1、首先需要单独发布api-simulation的parent的pom
注意:只是发布api-simulation项目,不包括其下面的子模块,如果你的项目中已经存了modules的配置,那么需要将其注释后发布。或者在配置中添加shell步骤,然后使用命令将pom.xml文件中的<module>等模块删除掉。

在Jenkins中添加脚本删除module(sed -i “/module/d” pom.xml)

将红色框的部分注释或删除后构建。
mvn clean deploy
如果没有发布父项目的pom而直接发布其子模块会报如下错误:

2、发布子模块
发布子模块有两种办法,一种是直接到子模块中编译其下面的pom;另一种方法是在父项目api-simulation的目录下,指定模块名进行编译,我们使用后者进行编译并发布。
clean compile -Pdev -pl company
- -pl:指定子模块名,示例中说明要编译company模块
- -P:指定profile