当我们使用maven进行分模块管理时,都会有一个父级项目。其中pom文件有一个重要的属性:packaging,即打包类型,默认为jar类型。且当maven分模块管理时:
Maven多模块项目的聚合,父项目必须将packing 指定 为 pom
官网:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>org.examplegroupId>
<artifactId>gaoliang-bigdataartifactId>
<version>1.0-SNAPSHOTversion>
<modules>
<module>spark-demomodule>
<module>flink-demomodule>
modules>
<packaging>pompackaging>
project>
参考:
https://www.baeldung.com/maven-packaging-types
聚合:Among all packaging types, pom is the simplest one. It helps to create aggregators and parent projects.
An aggregator or multi-module project assembles submodules coming from different sources. These submodules are regular Maven projects and follow their own build lifecycles. The aggregator POM has all the references of submodules under the modules element.
管理继承和集成:A parent project allows you to define the inheritance relationship between POMs. The parent POM shares certain configurations, plugins, and dependencies, along with their versions. Most elements from the parent are inherited by its children — exceptions include artifactId, name, and prerequisites.