zoukankan      html  css  js  c++  java
  • Maven中dependencies和dependencyManagement的区别

    Maven项目中,为了保持引用依赖的一致性,一般会抽出一个parent层,用来管理子项目的maven依赖,对于依赖的管理有两种方式,分别是dependencies以及dependencyManagement,那么这两者有什么区别呢?

    区别

    两者都可以引入maven依赖,但是主要的区别有以下几点:

    • dependencyManagement引入的依赖在子项目中不会自动引入

    使用dependencyManagement在parent中引入的依赖只是对依赖进行了一个声明,在子项目中需要使用相应的依赖时还是需要再次引入依赖的。

    • dependencies引入的依赖在子项目中会自动引入

    使用dependencies引入的依赖,在子项目中会自动引入依赖,即使不在pom中声明依赖,子项目也会自动引入parent中声明的依赖。

    • dependencyManagement引入的依赖,子类可以对版本进行覆盖

    dependencyManagement引入的依赖,在子类中进行声明时,可以不写版本号,此时会自动继承父类的版本号,但是如果需要定义一个新的版本,那么需要写上新的版本号,此时就会覆盖父类的版本。

    优点

    使用dependencyManagement管理maven依赖可以有以下几个优点:

    • 统一管理依赖版本以及作用域等,升级或者切换都比较方便;
    • 子类可以根据需要从父类中继承相应的jar包,而不是引入父类中所有的jar包;
    • 子类继承依赖时,不需要定义版本号和作用域。
  • 相关阅读:
    不务正业系列-浅谈《过气堡垒》,一个RTS玩家的视角
    [LeetCode] 54. Spiral Matrix
    [LeetCode] 40. Combination Sum II
    138. Copy List with Random Pointer
    310. Minimum Height Trees
    4. Median of Two Sorted Arrays
    153. Find Minimum in Rotated Sorted Array
    33. Search in Rotated Sorted Array
    35. Search Insert Position
    278. First Bad Version
  • 原文地址:https://www.cnblogs.com/ybyn/p/13690781.html
Copyright © 2011-2022 走看看