005-maven坐标和依赖
1.何为Maven坐标
groupId、artifactId、version、packaging、classifier
中央仓库:http://repol.maven.org/maven2
2.坐标详解
groupId:隶属的实际项目,域名反向+实际项目;【必须】
artifactId:实际项目中的一个maven项目(模块),实际项目+模块;【必须】
version:版本;【必须】
packaging:jar、war等,【可选】
classifier:附属构件,由附加插件帮助生成【不能直接定义】
3.依赖的配置
type:依赖类型,默认jar
scope:依赖范围
optional:依赖是否可选
exclusions:用来排除传递性依赖
4.依赖范围【scope】
compile:编译依赖范围。默认的,范围在编译、测试、运行三种classpath都有效。示例spring-core
test:测试依赖范围。示例JUnit
provided:已提供依赖范围。在编译和测试时有效,运行时无效。示例servlet-api,编译,测试需要,运行时候,容器提供不需要重复
runtime:运行时依赖范围。对于测试和运行时有效,编译时无效。示例,jdbc驱动实现
system:系统依赖范围。与三种classpath的关系,和provided依赖范围一致,但是,使用system范围的依赖时必须通过systemPath元素显示地指定依赖文件的路径。由于此依赖不是通过Maven仓库解析的。往往与本机系统绑定,可能造成构建的不可移植。慎用。。
import:导入依赖【Maven2.0.9以上】
5.传递性依赖
引用一个包的时候,这个包需要引用其他的依赖项
在Maven仓库会有每个构件的POM,Maven会解析各个直接依赖的POM,将那些必要的间接依赖以传递性依赖的形式映入到当前项目中。
6.依赖调节
项目A:依赖关系A->B->C->X(1.0)、A->D->X(2.0)
调解第一原则:路径最近者优先,【X(2.0)】
项目A:依赖关系A->B->Y(1.0)、A->C->Y(2.0)
调解第二原则:第一声明者优先,【Y(1.0)】
7.可选依赖
8.排除依赖
说明项目A依赖于B,B依赖于C,但是B依赖的C可能是不稳定版本,使用exclusions排除依赖C,引入自己的依赖C 1.1.0
9.归类依赖
属性归类依赖
POM根节点下增加
10.优化依赖
mvn dependency:list 查看依赖列表
mvn dependency:tree 查看依赖树
mvn dependency:analyze 分析编译主代码和测试代码需要用的的依赖
005-maven坐标和依赖的更多相关文章
- 03 Maven 坐标与依赖
Maven 坐标与依赖 Maven 的一大功能是管理项目依赖.为了能自动化地解析任何一个 Java 构件, Maven 就必须将它们唯一标识,这就依赖管理的底层基础 一一 坐标.本章将详细分析 Mav ...
- 4.Maven概念模型,maven的生命周期,Maven坐标,依赖管理(依赖范围,依赖声明),仓库管理,私服概念
1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg== ...
- 3.Maven坐标和依赖
1.1 何为Maven坐标 正如之前所说的,Maven的一大功能就是管理项目依赖.为了能自动化地解析任何一个Java构件,Maven就必须将它们唯一标识,这就依赖管理的底层基础——坐标. 1.2 坐标 ...
- maven坐标及依赖范围的学习(1)
首先,我们先了解什么是maven的坐标(重中之重): 在这里我们可以看到那三个红色的行,基本是pom.xml中出现的最多的配置 例如这个配置:这里我们可以看到我们这个项目的pom文件中,他对名 ...
- 【Maven】---坐标与依赖
Maven坐标与依赖 最近想深度学习下maven,找到一本书叫<Maven实战>,这本书讲的确实很好,唯一遗憾的是当时maven教学版本是3.0.0的,而目前已经到了3.5.4了,版本存在 ...
- Maven学习笔记—坐标和依赖
Maven的坐标和依赖 1 Maven坐标 1.1 什么是Maven坐标 Maven坐标:世界上任何一组构件都可以使用Maven坐标来唯一标识,Maven坐标的元素包括groupId.artifact ...
- Maven学习(二) -- 坐标和依赖
标签(空格分隔): 学习笔记 坐标 实际就像在几何中,我们用一对坐标(x, y)来表示坐标系中唯一的点:或者我们可以用(经度,纬度)来表示地球上的某一个位置,在Maven的世界中,有坐标来唯一的表示项 ...
- Maven之——坐标和依赖(上)
Maven之--坐标和依赖(上) 1. Maven坐标概念 Maven通过构件的坐标来在Maven仓库中定位到详细的构件.Maven的坐标元素包含groupId.artifactId.versi ...
- Maven学习笔记2(坐标和依赖)
1.坐标 Maven坐标为各个构件建立了秩序,任何一个构件都必须明确自己的坐标,一个maven坐标是由一些元素确定的 <groupId>com.alivn.account</grou ...
- 《Maven实战》第5章 坐标和依赖
5.1 Maven坐标——项目唯一标识 groupId(必须定义):定义Mavan项目隶属的实际项目,如SpringFramework,一个实际项目可包含多个Maven项目 artifactId(必须 ...
随机推荐
- yum whatprovides host 根据命令查找包
[root@Cobbler ~]# yum whatprovides host Loaded plugins: fastestmirror Loading mirror speeds from cac ...
- 编译FFmpeg for iOS
2项依赖: gas-preprocessor(见附录:gas-preprocessor简介) yasm 1.2.0 如果要集成x264和fdk_aac,需要先编译x264和fdk_aac. Usage ...
- KMP + 求相等前后缀--- POJ Seek the Name, Seek the Fame
Seek the Name, Seek the Fame Problem's Link: http://poj.org/problem?id=2752 Mean: 给你一个字符串,求这个字符串中有多少 ...
- JobTracker作业启动过程分析
转自:http://blog.csdn.net/androidlushangderen/article/details/41356521 在Hadoop中,启动作业运行的方式有很多,可以用命令行格式把 ...
- 008Maven_建立私服
参考博客:http://blog.csdn.net/fengspg/article/details/22507737 .1. Maven私服 关于中央仓库注意事项 l 地址: 目前来说: htt ...
- WebApi 异常处理解决方案
1.继承ExceptionFilterAttribute类,重写OnException方法 public class WebApiExceptionFilterAttribute : Exceptio ...
- sap screen design
定义屏幕: SAP 系统中的屏幕包含: 标准屏幕: 选择屏幕: 列表输出屏幕: 1. 标准屏幕必须隶属于一个类型为 L, M 或 F 的ABAP ...
- 编程之美 set 15 高效率地安排见面会
题目 有 n 个学生分别对 m 个见面会感兴趣, 为了满足所有学生的要求, HR 希望每个学生都能参加自己感兴趣的所有见面会 思路 1. 假设某一个同学同时对k个小组感兴趣, 那么这k个小组两两之间都 ...
- OpenSSL学习笔记
SSL缺省只进行server端的认证,客户端的认证是可选的.以下是其流程图(摘自TLS协议). 加密算法介绍: 对称加密: DES:date encrption standard,56bit 3DES ...
- Java实现简单的文件复制
public class FileCopy { public static void main(String[] args) { String path = "d:\\1.txt" ...