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包;
    • 子类继承依赖时,不需要定义版本号和作用域。
  • 相关阅读:
    jhat:虚拟机堆转储快照分析工具
    jmap:java内存影像工具
    jinfo:Java配置信息工具
    jstat:虚拟机统计信息监视工具
    jps:虚拟机进程状况工具
    jdk工具总领
    到底是"/"还是"/*"
    jdk_keytool
    html地图定位
    java 手机号码归属地查询
  • 原文地址:https://www.cnblogs.com/ybyn/p/13690781.html
Copyright © 2011-2022 走看看