笔记: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位于其安装目录 ...
随机推荐
- 网络基础tcp/ip协议四
网络层的功能: 定义了基于ip协议的逻辑地址. 链接不同的媒介类型. 选择数据通过网络的最佳路劲. 数据包格式: 优先级与服务类型(8)位:优先级与服务类型 标识符,标志,段偏移量:这几个字用来对数据 ...
- Netty(二):Netty为啥去掉支持AIO?
匠心零度 转载请注明原创出处,谢谢! 疑惑 我们都知道bio nio 以及nio2(也就是aio),如果不是特别熟悉可以看看我之前写的网络 I/O模型,那么netty为什么还经常看到类似下面的这段代码 ...
- 自动化测试(—)Web自动化测试理解
最近几天,由于工作需要接触Web自动化测试,所以我从网上找的资料,学习了解,然后自己总结汇总的随笔,如文章中有不足的地方,请大家多多指教:或者文章内容与他人相似,望见谅. 手工测试跟自动化 ...
- 用dd实现linux硬盘备份
一个去年的老本,500G硬盘,空间各种捉急,准备迁移到公司的台式机上,却发现Linux上迁移环境没有Windows下那么方便,只能复制整块硬盘了. 从公司拿了一块1T的硬盘,插入移动硬盘盒(淘宝上搞的 ...
- 如何编译linux第一个模块 hellomod.ko
Linux下的驱动程序也没有听上去的那么难实现,我们可以看一下helloworld这个例子就完全可以了解它的编写的方式! 我们还是先看一个这个例子,helloworld 1. [代码]hellowor ...
- 深度学习word2vec笔记之基础篇
作者为falao_beiliu. 作者:杨超链接:http://www.zhihu.com/question/21661274/answer/19331979来源:知乎著作权归作者所有.商业转载请联系 ...
- CentOS使用nmcli配置网络
nmcli 查看网络设备信息 nmcli dev status 查看所有连接的列表 nmcli connection show nmcli connection show --active 查看活动连 ...
- Django学习-4-request获取数据
app下views.py 获取前端HTML数据的一些方法 def func(request): # request.me ...
- CSS3 2D、3D转换
2D转换方法:transform().rotate().scale().skew().matrix() 3D转换方法:rotateX().rotateY() 1.示例代码 <!DOCTYPE h ...
- 安卓中webview读取html,同时嵌入Flex的SWF,交互
安卓中webview读取html,同时嵌入Flex的SWF,交互 安卓activity与html交互很简单,用javascript接口即可,网上一堆的例子,基本上没多大问题. 在html里面嵌入swf ...