首页 > 其他分享 >Maven聚合工程

Maven聚合工程

时间:2022-09-02 21:24:35浏览次数:50  
标签:依赖 聚合 工程 Maven pom com

Maven聚合工程

1 Maven聚合工程概念

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

2 创建Maven聚合工程

2.1 创建Maven父工程

Maven聚合工程的父工程 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.qfedu</groupId>
        <artifactId>maven-parent</artifactId>
        <version>1.0.0</version>
        <packaging>pom</packaging>
    ​
    </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.qfedu</groupId>
            <version>1.0.0</version>
        </parent>
    ​
        <modelVersion>4.0.0</modelVersion>
        <artifactId>common</artifactId>
    ​
    </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.qfedu</groupId>
        <artifactId>maven-parent</artifactId>
        <version>1.0.0</version>
    ​
        <!--  声明当前父工程的子module  -->
        <modules>
            <module>common</module>
        </modules>
    ​
        <packaging>pom</packaging>
    ​
    </project>

3 Maven聚合工程依赖继承

3.1 依赖继承
  • 在父工程的pom文件添加的依赖,会被子工程继承

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>

标签:依赖,聚合,工程,Maven,pom,com
From: https://www.cnblogs.com/wan-jie/p/16651235.html

相关文章

  • Maven
    一、Maven简介1.1在项目中如何导入jar包?下载jar包,(mvn)将下载的jar包拷贝到项目中(WEB-INF/lib)选择jar文件--右键--AddasLibrary1.2传统导入jar包的方式......
  • maven如何配置统一依赖多版本共存?
    本来可以通过在groupId后面加点来共存jar包的多版本,就像这样<dependency><groupId>cn.hutool</groupId><artifactId>hutool-core</artifactId></dependenc......
  • maven打包报错:Cannot find matching toolchain definitions for the following toolch
      报错信息: [ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-toolchains-plugin:1.1:toolchain(default)onprojectmyfile:Cannotfindmatchi......
  • 如何将Unity3D的工程文件安装到quest中
    本文用于学习笔记,参考链接  作者:倥偬盎离https://www.bilibili.com/read/cv12205073/出处:bilibili一、需要提前安装的软件1.oculus手机应用下载 使用手册上面提供......
  • ElasticSearch 分组聚合统计
    统计总数:GETmytest-statistics/_search{"size":0,"query":{"bool":{"must":[{"range":{"day":{......
  • oracle 分组 聚合数据 单字段聚合问题
    SELECT--max加这个只是为了让字段不在分组里写 max(id)id, max(stockorg_name)stockorg_name, max(vbillcode)vbillcode, max(source_no)source_no,--newvbil......
  • sqlserver 分组 聚合数据
    SELECT--OrderNo数据分组条件OrderNo,LEFT(MAX(InDate),10)ASInDate,--MAX只是不想让它参与分组条件MAX(WarehouseCode)WarehouseCode,MAX(Warehous......
  • 混沌工程拙见
        在一个由很多微服务组成的分布式系统中,我们永远难以全面掌握发生什么事件会导致系统局部不可用,甚至全面崩溃。但我们却可以尽可能地在这些不可用的情况发生之前......
  • Apache Maven ToolChains的使用
    ApacheMavenToolChains的使用  简介Toolchains的介绍Toolchains的例子Toolchains支持总结简介Maven是java中非常有用和常用的构建工具,基本上现在大型的java项目都是M......
  • MyBatis-逆向工程
    1.逆向工程正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源......