JavaMaven【八、pom.xml】

简介:




重点学习:

1、dependency-scope 依赖范围

  • compile 编译 默认,对编译、测试、运行都有效
  • provided 编译和测试时有效
  • runtime 测试和运行时有效
  • test 测试
  • system 与provided类似,在编译测试时有效,但与本机系统相关联,可移植性差
  • import 导入的范围,它使用在dependencyManagement中,表示从其他pom中导入dependency的配置

2、依赖传递

若项目A依赖B,B依赖C
则在配置pom.xml-dependency后,A的依赖项中也会出现C
若想排除A对C的依赖,在A的pom中配置exclusion

3、依赖冲突

当一个项目通过依赖传递依赖了多个Jar,且这些Jar的版本不同,就会产生依赖冲突
原则:
1、短路优先
A->B->C->X(jar)
A->D->X(jar) 则有限依赖这个版本的X
2、路径相同,先声明先依赖
若路径长度相同,先声明谁优先依赖谁,即优先依赖dependency中写在前面的那个

4、聚合和继承

1、聚合
创建一个容器项目,使用modules引入需要打包的项目

当install该项目时,被引入的所有项目都会一起打包
2、继承
当很多项目都使用同一个包时,可使用dependencyManagement将jar包的配置抽离出来
创建一个父类项目,配置dependencyManagement

将需要引用该包的项目依赖坐标中的版本和范围去掉,并使用parent标签引入父项目

posted @ 2017-04-24 08:12  l.shane  阅读(193)  评论(-1编辑  收藏  举报