Maven工程的继承和聚合

1 Maven工程继承关系

1.1 继承的概念

在Maven中,继承指Maven项目之间配置信息的继承,其中一个项目从另一个项目继承配置信息,这样多个项目可以统一配置信息,简化对项目配置的管理和维护。

1.2 继承的作用
  • 统一管理依赖
    通常情况下,Maven多模块项目会统一继承一个父工程模块,在父工程中统一管理项目依赖信息,如依赖的jar包、jar包的版本、jdk版本、编译打包插件等。
  • 统一依赖版本
    版本号由父工程统一管理,在子项目中可以只需要引入依赖的GA信息即可。
1.3 继承的语法
  • 父工程
 <groupId>com.gisergroupId>
 <artifactId>giser-javaartifactId>
 <version>1.0-SNAPSHOTversion>
 
 <packaging>pompackaging>
  • 子工程

<parent>
    <artifactId>giser-javaartifactId>
    <groupId>com.gisergroupId>
    <version>1.0-SNAPSHOTversion>
parent>

<artifactId>giser-java-commonartifactId>
<packaging>jarpackaging>
1.4 依赖统一管理

使用父工程统一管理依赖信息。

  • 在父工程中,使用dependencyManagement标签声明管理的依赖信息
<properties>
  <spring.version>6.1.2spring.version>
properties>


<dependencyManagement>
  <dependencies>
	<dependency>
	    <groupId>org.springframeworkgroupId>
	    <artifactId>spring-coreartifactId>
	    <version>${spring.version}version>
	dependency>
  dependencies>
dependencyManagement>
  • 在子工程中,使用父工程中声明的依赖信息
    此时在子工程中无需指定版本号,具体版本号由父工程中管理的依赖版本号决定。
<dependencies>
  <dependency>
    <groupId>org.springframeworkgroupId>
    <artifactId>spring-coreartifactId>
  dependency>
dependencies>

2 Maven工程聚合关系

2.1 聚合的概念

Maven聚合是指将多个项目组织到一个父级项目中,以便一起构建和管理的机制。聚合可以帮助我们更好地管理一组相关的子项目,同时简化它们的构建和部署过程。

2.2 聚合的作用
  • 统一管理多个子项目
    通过聚合,可以将多个子项目组织在一起,方便管理和维护。
  • 统一构建和发布多个子项目
    通过聚合,可以在一个命令中构建和发布多个相关的项目,简化了部署和维护工作。
  • 优化项目构建顺序
  • 统一管理依赖信息
    通过聚合,由父工程统一管理公共依赖项和插件,避免重复定义。
2.3 聚合的语法

在父工程中,通过modules标签标识聚合项目。

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0modelVersion>
  
  <groupId>com.gisergroupId>
  <artifactId>giser-javaartifactId>
  <version>1.0-SNAPSHOTversion>
  
  <packaging>pompackaging>
  
  <modules>
      <module>giser-java-commonmodule>
  modules>

project>
2.4 聚合项目构建

可以通过构建父工程,来统一构建其聚合的所有子模块。

你可能感兴趣的:(#,Maven,maven)