Maven学习(3)
来源:互联网 发布:电子原理图设计软件 编辑:程序博客网 时间:2024/05/17 22:00
一、pom.xml文件解析
1.pom.xml常用元素介绍
二、依赖范围
在maven中,如果要使用某一框架的jar包,就要把jar包引入到相应的classpath路径中,可以使用框架封装好的方法。
maven中提供了三种classpath:编译、测试、运行
由上图可以看到,junit只存在于测试的classpath中。
<scope></scope>:有6种值:
complie(默认的值,编译测试运行都有效)、
provided(编译和测试时有效,在运行时不会被加入)、
runtime(测试和运行时有效)、
test(只在测试时有效)、
system(编译和测试时需要,但是需要与本机相关联,可移植性差)、
import(导入的范围,它使用在dependencyManagement中,从其他pom继承过来的依赖)
例:把A中的依赖导入到B中
三、依赖传递
依赖是可以传递的,A依赖于B,B依赖于C,A也依赖于C。
可以排除依赖:<exclusions>
<exclusion>
"坐标"
</exclusion>
</exclusions>
四、依赖冲突
A依赖了不同版本的B和C,发生冲突
两种方法:
五、聚合与继承
1.聚合:如果项目D依赖项目C,项目C依赖项目B,项目B依赖项目A,我们需要一个个安装这项项目,在Maven中有一种方式可以将多个项目一次性安装,这就是聚合的概念。简单讲就是,需要人工多次操作的,只要MAVEN能理解,一次性告诉他,他就能帮我们做这件单调烦人的事情了。——使用<modules></modules>这个标签。
2.继承 : 多次使用到的依赖,比如:单元测试,没有必要在所有的项目中都引用一下,此时就可以采用继承的方式来实现,先来一个父级的POM.XML然后再继承此POM.XML
如图中version可以用类似EL表达式的写法,将其在属性中定义,另外父类不必写方法,可以将文件删除掉
例子:junit 新建一个父类,修改pom
子类的pom
- Maven学习(3)
- 学习之maven(3)
- MAVEN学习(3)------MAVEN的坐标及依赖
- 第一个项目(Maven学习3)
- Maven学习笔记(3) --- 生命周期
- maven学习3
- maven学习(3)
- MAVEN学习笔记3
- 学习Maven日记-3
- maven学习(一)
- maven学习(二)
- Maven学习笔记(-)
- Maven学习(一)
- maven学习(一)
- maven学习(二)
- maven学习(四)
- maven学习(五)
- maven 学习(一)
- Java编程思想学习笔记(九) 第10章 内部类
- Let the Balloon Rise
- 最大连续子序列
- 282. Expression Add Operators
- HDU1800 Flying to the Mars
- Maven学习(3)
- 求一个数组的全部子集的两种解法
- JSPatch使用
- 生成二维码
- 在eclipse中,如果你不小心在properties=>Java Build Path中将Maven Dependencies Libraries 移除了怎么恢复呢?
- nim博弈_______Georgia and Bob( poj 1704 )
- 008:Why does this code using random strings print “hello world”?
- 最大似然估计
- 多线程间的协调实战——多线程轮流处理