Maven聚合工程

Maven聚合工程

Maven聚合工程

1 Maven聚合工程概念

Maven聚合工程:就是可以在一个maven父工程中创建多个组件(项目),这个多个组件之间可以相互依赖,实现组件的复用。

image-20210724150950453

2.创建Maven聚合工程

2.1创建Maven父工程

Mavenj聚合工程的父工程packing 必须为pom

  • 创建一个Maven工程
  • 修改父工程的pom.xml,设置打包方式为pom
<?xml version="1.0" encoding="UTF-8"?>
<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.0</modelVersion>

    <groupId>com.sdz</groupId>
    <artifactId>maven-parent</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

</project>
  • 父工程用于管理子工程,不进行业务是实现,因此是src目录可以选择性删除

2.2 创建module

  • 选择父工程--右键--new--Module

  • 输入子工程名称(g和v都从父工程继承)

  • 子工程的pom文件

    <?xml version="1.0" encoding="UTF-8"?>
    <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">
        <!--module的pom继承 ⽗⼯程的pom-->
        <parent>
            <artifactId>maven-parent</artifactId>
            <groupId>com.sdz</groupId>
            <version>1.0.0</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>common</artifactId>
    
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
        </properties>
    
    </project>
    
  • 父工程的pom文件

    <?xml version="1.0" encoding="UTF-8"?>
    <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.0</modelVersion>
    
        <groupId>com.sdz</groupId>
        <artifactId>maven-parent</artifactId>
        <version>1.0.0</version>
        <!-- 声明当前⽗⼯程的⼦module -->
        <modules>
            <module>common</module>
        </modules>
        <packaging>pom</packaging>
    
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
        </properties>
    
    </project>
    

3 Maven聚合⼯程依赖继承

3.1 依赖继承

  • 在⽗⼯程的pom⽂件添加的依赖,会被⼦⼯程继承

    image-20210725144919702

3.2 依赖版本管理

在⽗⼯程的pom.xml的dependencyManagement中添加依赖,表示定义⼦⼯程中此依赖的默认版本(此定义并 不会让⼦⼯程中添加当前依赖,需要在子工程中声明才能引入依赖)

<!-- 依赖管理:在dependencyManagement中添加依赖,表示定义⼦⼯程中此依赖的默认版本 -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.6.1</version>
        </dependency>
    </dependencies>
</dependencyManagement>
posted @ 2021-07-25 15:11  pxlsdz  阅读(523)  评论(0编辑  收藏  举报