这里我们需要用到几个maven标签,先熟悉下
1.<moudles>
:通过在父级pom.xml中使用标签,您可以方便地管理多模块项目的构建和依赖关系,并确保它们以正确的顺序进行构建和处理。
2.<dependManage>
:用于在项目的顶层pom.xml文件中定义和声明依赖项的版本信息,包括依赖项的groupId、artifactId和version等。这样,当多个模块引入同一个依赖时,它们可以通过简单地声明依赖项的groupId和artifactId,而无需指定版本号,从而继承父级pom.xml中管理的版本号。
现在开始把公共依赖放进父pom.xml文件中。
把子项目的<parent>标签放进父项目pom.xml中。
再把父项目的坐标分别放在子项目中。并用<parent>包裹。
最后在复现股中加入子项目的项目名到<moudles>标签中使得他们简历关系
<modules>
<module>provider01</module>
<module>consume01</module>
</modules>
这样就加你成父子关系了。
运行更新maven时报错:
[ERROR] 'packaging' with value 'jar' is invalid. Aggregator projects require 'pom' as packaging.
到出问题的pom.xml中一看,它含有子模块,即它是多模块聚合,打包方式应该为pom。没有声明打包方式会默认以jar方式打包,需要在对应的pom文件中补上:
<!-- 打包方式(多模块项目不写此项会maven报错) -->
<packaging>pom</packaging>
多模块聚合时,parent父模块的packaging类型是pom,可以在parent父模块的pom中定义来包含下面的子模块,相应的子模块packaging类型才是jar;