【Maven学习】maven中依赖的配置详解
来源:互联网 发布:mysql高级视频教程 编辑:程序博客网 时间:2024/06/06 13:17
根元素project下的dependencies可以包含一个或者多个dependency元素,以声明一个或多个项目依赖。每个依赖可以包含的元素有:
- groupId,artifactId和version:依赖的基本坐标,对于一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖。
- type:依赖的类型,对应于项目坐标定义的packaging。大部分情况下,该元素不必声明,默认值为jar。
- scope:依赖的范围。
- compile:编译依赖范围(默认值)。使用此依赖范围的Maven依赖,对于编译、测试、运行三种classpath都有效。
- test:测试依赖范围。典型的例子是jUnit,只有在编译测试代码及运行测试的时候才需要。
- provided:已提供依赖范围。使用此依赖范围的Maven依赖,对于编译和测试classpath有效,运行时无效。
- runtime:运行时依赖范围。对于测试和运行classpath有效,但在编译主代码时无效。典型的例子是JDBC驱动实现,项目主代码的编译只需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体JDBC驱动。
- system:系统依赖范围。该依赖与三种classpath的关系,和provided依赖范围完全一致。但是,使用system范围的依赖时,必须通过systemPath元素显式的指定依赖文件的路径。由于此类依赖不是通过Maven仓库解析的,而且往往与本机系统绑定,可能造成构建的不可移植,因此应该谨慎使用。
- import:导入依赖范围。
- optional:标记依赖是否可选。如果设为true,那么在A依赖B,B依赖于X和Y,且X和Y都可选时,此时,默认情况下,A是不依赖于X和Y的,如果A需要依赖X,那么需要在A中显式的声明X。
- exclusions:用来排除传递性依赖。
使用常量来声明同一版本
<properties> <springframework.version>4.3.8.RELEASE</springframework.version></properties><dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${springframework.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${springframework.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${springframework.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${springframework.version}</version> <scope>provided</scope> </dependency></dependencies>
优化依赖
可以运行如下命令查看当前已解析依赖:
mvn dependency:list
可以运行如下命令查看当前项目的依赖树:
mvn dependency:tree
在此基础上,还有工具可以帮助分析当前项目的依赖:
mvn dependency:analyze
阅读全文
0 0
- 【Maven学习】maven中依赖的配置详解
- Maven依赖的配置
- Maven依赖的配置
- 配置Jstl的Maven依赖
- 配置Jstl的Maven依赖
- Maven学习笔记十:Maven坐标和依赖(依赖的配置)
- 【Maven】maven的依赖
- 【Maven】maven的依赖
- maven中常用的依赖
- 如何在MAVEN中配置Spring的依赖包
- 如何在MAVEN中配置Spring的依赖包
- Maven POM文件中依赖与插件的配置
- maven依赖关系中Scope标签详解
- Maven学习笔记九:Maven坐标和依赖(坐标详解)
- 如何在Maven中配置Spring依赖
- 5 Maven-依赖详解
- Maven排除依赖配置
- Maven分离配置、依赖
- 超全整理!Linux性能分析工具汇总合集
- jQuery中的DOM节点的创建与多种插入方式
- (3/500)在线性时间内对二进制数组排序
- 基本数据类型
- 安卓查看特定文件,并按钮查看下一个或上一个
- 【Maven学习】maven中依赖的配置详解
- CSS的伪类选择器
- 静态 常量 同步
- sql365 行转列,同时根据公司编码带上公司名称
- XSS也能getshell
- 我们离所谓的优秀有多远
- d3.v4.js 绘制曲线图, 支持鼠标悬停显示数值
- 杨氏矩阵
- java中读取txt文档的三种方式