笔记:Maven 依赖及配置详解
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 依赖及配置详解的更多相关文章
- 学习笔记——Maven settings.xml 配置详解
文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...
- 学习笔记——Maven pom.xml配置详解
POM的全称是“ProjectObjectModel(项目对象模型)”. pom.xml详解 声明规范 <projectxmlns="http://maven.apache.org/P ...
- maven常用插件配置详解
常用插件配置详解Java代码 <!-- 全局属性配置 --> <properties> <project.build.name>tools</proje ...
- 【转】Maven pom.xml 配置详解
原文链接:https://yq.aliyun.com/articles/38271 pom.xml文件配置详解 --声明规范 <project xmlns="http://maven. ...
- Maven settings.xml配置详解
首先:Maven中央仓库的搜索全部公共jar包的地址是,http://search.maven.org/ ===Maven基础-默认中央仓库============================== ...
- 【Maven学习】maven中依赖的配置详解
根元素project下的dependencies可以包含一个或者多个dependency元素,以声明一个或多个项目依赖.每个依赖可以包含的元素有: groupId,artifactId和version ...
- (转)Maven pom.xml 配置详解
背景:maven一直感觉既熟悉又陌生,归根结底还是自己不太熟. 1 什么是pom? pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述了项目:包括配置文件:开发者 ...
- Maven(四-2) Maven pom.xml 配置详解
转载于:http://niuzhenxin.iteye.com/blog/2042102 什么是pom? pom作为项目对象模型.通过xml表示maven项目,使用pom.xml来实现.主要描述 ...
- Nginx-安装依赖及配置详解
依赖 在安装Nginx之前, 需确保系统已经安装了gcc. openssl-devel. pcre-devel和zlib-devel软件库 配置 Nginx的配置文件nginx.conf位于其安装目录 ...
随机推荐
- JS分号 惹的坑
JS中会自动清除句子和句子之间的空格以及tab缩进, 这样就可以允许用户编写的代码更加随性和更加可读, 在该行代码解析的时候如果该行代码可以解析, 就会在该行代码最后自动填写分号,如果该行代码无法解析 ...
- IS-IS 路由协议 总结
第一章 is-is的协议概述 1. 发展史 Is-is最早是iso为osi模型中CLNP而设计的协议,后来根据发展需要,也支持了TCP/IP协议,因此,is-is叫做integrated is-is或 ...
- Python模拟登录成功与失败处理方式(不涉及前端)
任务说明: (1) 用户输入用户名,如不存在此用户不能登录: (2) 用户在输入密码时,如果连续输入三次错误,则该用户被锁定一段时间; (3) 用户被锁定一段时间后,可再次进行尝试登录: 程序使用库: ...
- Linux内核开发之将驱动程序添加到内核
驱动程序添加到内核 一.概述: 在Linux内核中增加程序需要完成以下三项工作: 1.将编写的源代码复制到Linux内核源代码的相应目录 2.在目录的Kconfig文件中增加新源代码对应项目的编译配置 ...
- activiti怎么实现用户自定义流程?请先看这里
最近一两个星期收到了好几个qq好友添加的请求和csdn的私信,里面基本都是询问activiti相关的问题. 尤其是今天有个朋友给我发了私信,内容如下: 你好,请问你关于activiti工作流的问题:怎 ...
- NLP︱句子级、词语级以及句子-词语之间相似性(相关名称:文档特征、词特征、词权重)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 关于相似性以及文档特征.词特征有太多种说法.弄 ...
- MFC 多线程及线程同步
一.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消息机制,通常 ...
- Java之split()方法
Java之split()方法 1.方法介绍 (1)public String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串 (2)public String[] s ...
- WebService之CXF注解报错(二)
WebService之CXF注解 1.具体报错如下 五月 04, 2014 11:24:12 下午 org.apache.cxf.wsdl.service.factory.ReflectionServ ...
- ArcGIS For Flex报错二
1.错误描述 2.错误原因 3.解决办法