Maven 聚合

聚合则是允许在一个父POM中引用其他相关的POMs,并执行统一的Maven构建。在一个聚合中,所有子模块将使用相同的配置和插件版本。聚合允许将一个项目拆分成多个模块,而这些模块又可以在构建过程中一起构建,从而提高构建的效率。

在 Maven 中,聚合通过在一个父项目的 pom.xml 文件中包含多个子项目的配置来实现。在父项目的 pom.xml 文件中,使用 元素列出所有子项目的名称。

例如,假设我们有一个父项目,名为 my-project,该项目包含两个子项目,名为 my-project-core 和 my-project-web。则父项目的 pom.xml 文件可以包含如下配置:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example.my-project</groupId>
  <artifactId>my-project</artifactId>
  <version>1.0.0</version>
  <packaging>pom</packaging>

  <modules>
    <module>my-project-core</module>
    <module>my-project-web</module>
  </modules>

  <dependencies>
    <!-- 父项目的依赖配置 -->
  </dependencies>

  <!-- 父项目的插件配置 -->

  <build>
    <plugins>
      <!-- 父项目的插件配置 -->
    </plugins>
  </build>
</project>

这样,我们就可以通过在父项目的根目录下执行 mvn clean install 命令来构建整个项目,包括所有子项目。而如果我们只想构建某个子项目,可以进入该子项目的目录并执行相应的 Maven 命令。

值得注意的是,聚合并不意味着父项目是子项目的父类或基类,而只是将多个独立的 Maven 项目组合成一个整体进行构建和管理。