maven的依赖和聚合

Maven的继承允许子工程从父工程继承配置,统一管理依赖版本,避免重复劳动。父工程以`pom`打包,包含子模块信息。聚合则方便一键执行命令,如`mvn install`,自动按顺序处理子模块。通过``标签组织子工程,实现项目的模块化管理。
摘要由CSDN通过智能技术生成

maven的继承:
maven工程之间,A工程继承B工程
B就是父工程
A就是子工程
本质上是A工程的pom.xml中的配置继承了B工程中的pom.xml的配置。

 2、作用
在父工程中统一管理项目中的依赖信息,具体来说是管理依赖信息的版本

场景:(微服务架构)
对一个大型的项目进行了模块拆分
一个project下面,创建了很多的module
每一个module都需要配置自己的依赖信息

原因:
在每一个module中各自维护各自的依赖信息很容易发生出入,不易统一管理
使用同一个框架内的不同jar包,他们应该是同一个版本,所以整个项目中使用的框架版本需要统一
使用的框架时所需要的jar包组合需要长期摸索和反复使用调试,最终确定一个可用组合。这个耗费很大精力总结出来的方案不应该在新的项目中重新摸索

通过在父工程中为整个新项目维护依赖信息的组合即保证了整个项目使用的规范、准确的jar包;又能够将以往的讲演陈定下来,节约时间和精力。

版本号自己的工程里面没有写,默认读取父工程的版本号。

当前工程为父工程,它要去管理子工程,所以打包方式必须是pom
<packaging>pom<packaging>

<!--子工程的groupId如果和付工程一样,则可以省略-->
    <groupId>com.seer-health</groupId>
    <artifactId>seer-core-api</artifactId>
    <version>1.0.1-SNAPSHOT</version>

<modules>
    <module>pro01-module</module>
    <module>pro02-module</module>
    <module>pro03-module</module>
</modules>
     <!--parent标签定义属性,版本号啥的-->
     <property><property>
    <!--parent标签给当前子工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.8.RELEASE</version>
        <relativePath/>
    </parent>
    <!--父工程的packaging是pom标签-->
    <packaging>pom</packaging>
    <!--在父工程中同一管理以来信息-->
    <!--注意;即使在父工程配置了对依赖信息的管理,子工程需要使用具体哪一个依赖还是要明确配置-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>ll-pro01</groupId>
                <artifactId>kussd-core</artifactId>
            </dependency>
        </dependencies>
    </dependencyManagement>

version:父工程定义了,子工程再写,就会覆盖掉父工程的版本号。

聚合:(部分和整体的关系就是聚合)

聚合好处:

 一键执行Maven命令:很多构建命令都可以在“总工程”中一键执行
以man install命令为例:Maven要求有父工程时先安装父工程;有依赖的工程时,先安装被依赖的工程。我们自己考虑这些规则会很麻烦。但是工程聚合之后,在总工程执行mvn install可以一键安装,而且会自动按照正确的顺序执行。
配置聚合之后,各个模块工程会在总工程中展示一个列表,让项目中的各个模块一目了然。

父工程会生成子工程的modules(maven聚合)
 

<modules>
    <module>pro01-module</module>
    <module>pro02-module</module>
    <module>pro03-module</module>
</modules>


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值