JAVA分布式管理——Maven进阶(多模块管理,如何创建父子工程,创建父子工程的方式)

一、使用多模块的背景

在创建一个工程时,往往需要多个模块进行协调

  • commonModel:提供公共的基础服务,比如工具类、常量类等等;
  • bussinessModel:业务模块,是系统真正要实现的业务,依赖于 common 模块,比如订单管理、财务统计、会员管理等;
  • application:可发布的 web 应用,由各个 bussinessModel 组成,最终满足项目整体需求;
  • 第三方模块:包括各类框架,Spring、MyBatis、日志等。整个应用都是依赖它们完成完成。
    在这里插入图片描述
  • Maven 管理多模块应用的实现是互联网项目中多使用分布式开发,那么每个独立的服务都会使用独立的项目进行维护,那么这样就需要使用多模块应用管理,来实现项目的高度统一。
  • 版本需要统一等重要问题

二、使用Maven进行管理的方式一

2.1 创建父工程

在这里插入图片描述

  • Maven父工程有如下两个要求:
    • packaging标签的文本内容必须设置为pom
    • 要求 src 目录必须删除掉
      在这里插入图片描述
  • maven多模块管理就是让它的子模块的pom文件来继承父工程中的pom文件

2.2 创建子模块

在这里插入图片描述

  • Add as module to:选择将创建的模块添加哪个模块
  • Parent:选择模块的父工程
  • GroupId:选择父工程后,默认继承父工程的 GroupId 值
  • ArtifactId:模块的项目名称
  • Version:选择父工程后,默认继承父工程的 Version 值
    在这里插入图片描述
  • web-app项目也是如此创建,只不过使用的模板不同

2.3 创建父子工程注意事项

子工程也是可以设置为父工程的

  • 将packing标签改为pom
  • 将src目录进行删除

如果创建工程忘记设置父工程,如何后期指定?

  • 可以使用parent标签,并指定GAV坐标以及相对的路径即可

2.4 子模块继承父工程所有依赖

如果父工程中添加了依赖之后,子工程会无条件进行继承
在这里插入图片描述

2.5 声明式集成父工程的依赖

  • 上面的依赖存在一种弊端,如果我们只是进行继承,会导致铺张浪费,很多工程不需要使用的依赖,会统统打包。

  • 此时迫切需要一个加强依赖,dependencyManagement标签
    在这里插入图片描述

  • 此时我们的子工程需要进行声明式的继承,需要什么就声明什么,不需要写版本号

  • 如果子工程自定义版本号,那么会覆盖父类的版本号

  • 父工程的版本号如果进行修改,子工程的版本号也会进行修改
    在这里插入图片描述
    在这里插入图片描述

2.6 父工程版本控制全面升级

  • 因为想要控制版本号,比较麻烦,可以自定义标签

  • 一般使用项目名称+version,如下图

  • 再用el表达式进行获取
    在这里插入图片描述

三、使用Maven进行管理的方式二

3.1 创建父工程

在这里插入图片描述

  • 注意删除src目录
  • packing标签改为pom

3.2 创建子工程

该创建方式,主要是不将子模块拿出父工程里面
在这里插入图片描述

  • 注意观察文件文件位置即标签
    在这里插入图片描述
  • 父工程中多了一个model标签
    在这里插入图片描述
  • web-app工程也是如此

3.3 注意事项

子工程也是可以设置为父工程的

  • 将packing标签改为pom
  • 将src目录进行删除

3.4 父工程管理版本号

  • 同第一种方式类似

    • 可以进行版本控制
    • 可以进行加强管理
    • 子工程必须声明式依赖

在这里插入图片描述
在这里插入图片描述

四、编译插件

常在父工程中加入编译插件,用于所有项目在同一个环境中编译

 <build>
    <plugins>
      <!--JDK1.8编译插件-->
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

五、使用Maven进行管理的方式三

  • 该方式就是将方式一和方式二进行混合。如下
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值