码迷,mamicode.com
首页 > 其他好文 > 详细

Maven入门教程二----Maven依赖

时间:2016-09-12 07:22:45      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

  • 依赖包查询

通过坐标存储,GAV-groupId,artifacld,version
有些网上的仓库自带了,nexus,http://mvnrepository.com
传递性依赖
依赖范围:
依赖的传递性:依赖是会被传递的。
A--C,B--A,那么B--C(基于compile范围进行传递)。pom.xml中scope如果没有声明,那么默认是compile
如果scope的声明为test,那么这个依赖不会传递到另外一个compile包中
test:打成war时不会把测试包打进去,也不会传递。编译和打包都不会使用这个包。
compile:编译范围有效,在编译、打包都需要
provided:在编译和测试的过程中有效,最后生成war包时不会加入。诸如:servlet-api.jar因为tomcat服务器已经存在了,如果再打包会冲突
runtime:运行时依赖,编译的时候不依赖
import
system

  • 依赖传递冲突

1、a--b1.0,b--b1.1 d--a和c,在d中哪一个依赖顺序先写就使用先写依赖的版本
如果d--><d>a<d>和<d>b<d>那么依赖b为1.0
2、a--b1.0,b--b1.1,d--a和c==>b1.0,f-->d,c,选择最短路径f--b1.1
3、如果希望精确的控制依赖包,可以使用依赖的排除功能
dependencies,dependency下exclusions,排除不需要依赖的包,通过GAV声明

  • 依赖的聚合

一个地方编译多个文件,eclipse中maven按照project走,idea中按照module走。
eclipse中可以通过编写一个pom.xml(打包方式为pom,<packaging>pom<packaging>编译和打包所有project。
idea中,一个project可以有多个module,因此默认就存在pom.xml

  • pom继承

父类里面可以定义好,版本,编码等信息,之类,引入parent标签,将继承父类的配置
父类可以导入所有使用到的包,通过dependencyManagement标签声明依赖,子类中就可以只声明groupId和artifactId来找到包,版本从父类继承下来

Maven入门教程二----Maven依赖

标签:

原文地址:http://www.cnblogs.com/belen/p/5863442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!