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




0 0
原创粉丝点击