dependencies 配置节,主要用于配置项目依赖的其他包,其子节点 dependency 用来配置具体依赖包,有groupId、artifactId、version、scope等子节点来说明,配置节结构如下:

<dependencies>

      <dependency>

            <groupId>这个应该是公司名或组织名或项目归属组</groupId>

            <artifactId>构建出来的文件名,一般来说或,这个也是project名</artifactId>

            <version>版本号</version>

            <scope>依赖的范围</scope>

            <type>依赖的类型,默认值:jar</type>

            <optional>依赖是否可选(值为
true

false)</optional>

              <!-- 用来排除传递性依赖 -->

            <exclusions>

<exclusion>

<groupId>项目归属组</groupId>

<artifactId>项目在组中唯一ID</artifactId>

</exclusion>

            </exclusions>

</dependency>

  • 子节点
    scope:用于配置和依赖包的范围,范围值有
    compile、test、runtime、provided、system
    • compile:编译依赖范围,如果没有指定,就会默认使用该依赖范围,使用此依赖范围,对于编译、测试、运行三种有效
    • test:测试依赖范围,使用此依赖范围,对于测试有效
    • provided:已提供依赖范围,使用此依赖的范围,对于编译和测试有效
    • runtime:运行时依赖,使用此依赖的范围,对于测试和运行有效
    • system:系统依赖范围,使用此依赖的范围,对于编译和测试有效,但必须通过
      systemPath 元素显示的指定依赖文件的路径(可以引用环境变量,必须 ${java.home} 表示 JAVA_HOME 环境变量)
    • import:导入依赖范围,不会对
      编译、测试和运行有实际的影响

Maven 会自动解析所有项目的直接依赖和传递性依赖,并根据果汁正确判断每个依赖的范围,对于一些依赖冲突,也能进行调节,以确保任何一个构建只有唯一的版本在依赖中存在,这些工作之后,最后得到的依赖被称为已解析依赖(Resolved
Dependency),可以运行如下的命令查看当前项目的已解析依赖:

mvn dependency:list

命令结果:

可以通过命令查看当前项目的依赖树:

mvn dependency:tree

命令结果:

需要需要分析依赖的情况,可以使用命令:

mvn dependency:analyze

命令结果:

结果分为二部分:

  • Used undeclared dependencies:表示项目中使用到的,但时没有显示声明的依赖
  • Unused declared dependencies:表示项目中未使用的,但显示声明的依赖,需要注意,对于这一类的依赖,我们不应该简单的直接删除其声明,该命令只会分析编译、测试需要用到的依赖,一些执行运行时需要的依赖无法发现。

笔记:Maven 依赖及配置详解的更多相关文章

  1. 学习笔记——Maven settings.xml 配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  2. 学习笔记——Maven pom.xml配置详解

    POM的全称是“ProjectObjectModel(项目对象模型)”. pom.xml详解 声明规范 <projectxmlns="http://maven.apache.org/P ...

  3. maven常用插件配置详解

    常用插件配置详解Java代码    <!-- 全局属性配置 --> <properties> <project.build.name>tools</proje ...

  4. 【转】Maven pom.xml 配置详解

    原文链接:https://yq.aliyun.com/articles/38271 pom.xml文件配置详解 --声明规范 <project xmlns="http://maven. ...

  5. Maven settings.xml配置详解

    首先:Maven中央仓库的搜索全部公共jar包的地址是,http://search.maven.org/ ===Maven基础-默认中央仓库============================== ...

  6. 【Maven学习】maven中依赖的配置详解

    根元素project下的dependencies可以包含一个或者多个dependency元素,以声明一个或多个项目依赖.每个依赖可以包含的元素有: groupId,artifactId和version ...

  7. (转)Maven pom.xml 配置详解

    背景:maven一直感觉既熟悉又陌生,归根结底还是自己不太熟. 1 什么是pom? pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者 ...

  8. Maven(四-2) Maven pom.xml 配置详解

    转载于:http://niuzhenxin.iteye.com/blog/2042102 什么是pom?    pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述 ...

  9. Nginx-安装依赖及配置详解

    依赖 在安装Nginx之前, 需确保系统已经安装了gcc. openssl-devel. pcre-devel和zlib-devel软件库 配置 Nginx的配置文件nginx.conf位于其安装目录 ...

随机推荐

  1. AVS、MPEG-2、H264标准文档

    联合信源对AVS解码源码和相应的AVS码流.AVS码流太大,可以从http://cosoft.org.cn/projects/avsdec下载.解压avsdec_source.zip后,用VC6编译a ...

  2. mxnet:结合R与GPU加速深度学习

    转载于统计之都,http://cos.name/tag/dmlc/,作者陈天奇 ------------------------------------------------------------ ...

  3. DSP_TMS32F2812的串口操作

    void scia_fifo_init(int ibaud) { SciaRegs.SCICCR.all =0x0007; // 1 stop bit, No loopback // No parit ...

  4. R语言︱分布函数与概率密度+随机数产生

    1.常见概率分布 ##正态分布 pnorm(1.96) #P(x<=1.96)时的分布概率 pnorm(1.96,0,1) #上同 pnorm(1.96,lower.tail = F) #P(x ...

  5. java.sql.SQLException: Access denied for user 'sa'@'localhost' (using password: NO)

    1.错误描述 INFO:2015-05-01 16:53:29[main] - HHH000228: Running hbm2ddl schema update INFO:2015-05-01 16: ...

  6. DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具

    使用dos批处理命令递归删除指定的文件(夹): (下面内容针对清理VC工程!自己按说明任意修改) 2014-06-10修改:删除前增加了[y,n]询问: echo off rem 递归删除当前文件下指 ...

  7. ORA-00904:"T1"."AREA_ID" :标识符无效

    1.错误描述 ORA-00904:"T1"."AREA_ID" :标识符无效 00904 . 00000 - "%s:invalid identifi ...

  8. Array.from()

    es6 Array.from() 方法将两类对象转为真正的数组 用法:用于将两类对象转为真正的数组:类似数组的对象和可遍历(iterable)的对象(包含ES6新增的数据结构Set和Map); 说明: ...

  9. 深入理解javascript中的事件循环event-loop

    前面的话 本文将详细介绍javascript中的事件循环event-loop 线程 javascript是单线程的语言,也就是说,同一个时间只能做一件事.而这个单线程的特性,与它的用途有关,作为浏览器 ...

  10. 关于省市联动的bug

    一,问题描述 1.1,原来的思路 1.1.1,初始化加载省份 $.ajax({ 'type' : 'POST', 'dataType' : 'json', 'url' : '${rc.contextP ...