Maven 依赖关系管理机制及Maven多POM继承

继承是包依赖管理的最简单手段

Maven对依赖包的关系管理的主要手段是继承,这很像Java语言的继承关系一样。例如最简单的继承方式,在parent pom文件定义了jar的version,在children pom中可以不定义jar的version,而children也可以定义version来覆盖parent的version,这种思想完全和Java的继承与重载机制一致。

<parent>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <version>x.x.version</version>
</parent>

单继承机制的欠缺及多继承的支持

关于Java为什么被设计成不支持多继承,你有什么想说的吗?设计Java的老人家也许有他老人家当时的理由,而在Java8支持了接口里可有默认方法的实现,这虽然没有摆脱Java单继承的限制,但也表明了Java对多继承机制的一种支持。Maven对继承的管理机制和Java的继承机制如出一辙,同样也面对着这样的问题,如一个pom只可以继承一份pom,那如果有多份pom想继承该怎么办,下面是Maven给出一种办法:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>a.b.c</groupId>
            <artifactId>def</artifactId>
            <version>x.x.version</version>
            <type>pom</type>
            <scope>import</import>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <!—继承上述pom的jar的version定义 -->
        <groupId>a.b.c</groupId>
        <artifactId>def</artifactId>
    </dependency>
</dependencies>

利用scope:import的方式可以解决单继承的问题,这样也相当于继承了这份pom,我们可以在这份pom文件里定义jar的version,然后在依赖时就不需要传入version配置了

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值